2015-12-09 16 views
10

私はUICollectionViewDataSource、UICollectionViewDelegate、UICollectionViewDelegateFlowLayoutを拡張するUIViewControllerを持っています。extendedLayoutIncludesOpaqueBarsがtrueに設定されていると、UICollectionViewが機能しない

override func viewDidLoad() { 
    super.viewDidLoad() 
    collectionView.delegate = self 
    collectionView.dataSource = self 
    self.extendedLayoutIncludesOpaqueBars = true 

} 

UICollectionviewDelegateおよびDataSourceメソッドは呼び出されないため、UICollectionviewは空のように見えます。リロードデータを呼び出す場合でも、DataSourceメソッドは呼び出されません。

最後の行を削除すると、viewControllerの下に空白がある以外はすべて正常に動作します。

答えて

0

edgesForExtendedLayoutは

基本的には、このプロパティを使用して、あなたは は、画面全体をカバーするように拡張することができ、あなたの視野のどの側面を設定します。あなたが UIViewControllerをUINavigationControllerにプッシュしたとすると、その ビューコントローラのビューが配置されている場合、ナビゲーションバー が終了するところから開始されますが、このプロパティはビューのどの辺(上、左、 下、右)全体の画面を埋めるように拡張することができます。

あなたはこれらの二つの

self.edgesForExtendedLayout = UIRectEdgeNone; 
self.automaticallyAdjustsScrollViewInsets = NO; 

OR

self.edgesForExtendedLayout = UIRectEdgeNone; 
self.extendedLayoutIncludesOpaqueBars = YES; 

の一つは、それはあなたを助けるかもしれ設定する必要があります。

+0

私はすでにこれを試しましたが、助けにはなりませんでした。 extendedLayoutIncludesOpaqueBars = falseはスペースを削除します。 –

関連する問題