2015-06-01 29 views
1

我有一個UIPageViewController,它包含UICollectionViewControllers誰是需要調整的collectionView'scontentInset。對於各種UI佈局的原因,當它們出現在UIPageViewController中時,我只需要這些UICollectionViewController上的contentInset。以下是我嘗試調整collectionView的contentInset。在UIPageViewController內部設置UICollectionView的內容嵌入?

self.viewControllers = [ ViewControllerA(), ViewControllerB(), ViewControllerC()] 
    for viewController in viewControllers { 
     if let vc = viewController as? UICollectionViewController, collectionView = vc.collectionView { 
      collectionView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: bottomContentInset(), right: 0) 
     } 
    } 

,我遇到的問題是,只有第一個視圖控制器(第一頁)獲取contentInsetadjusted,有沒有這樣做

+0

你有沒有嘗試過繼承並將這些屬性設置爲默認? –

回答

1

不知道,如果你解決了這個更好的方法,但這可能已經發生,因爲只有可見收集視圖的單元格(在ViewControllerA中)出列。其他VC中的集合視圖可能還沒有出隊,或者其他VC本身可能尚未初始化(不知道如何實例化VC)。我將使用UIPageViewController的委託方法來設置每個集合視圖的contentInset屬性,或者在每個VC的viewWillAppear:方法中嘗試它。