2015-06-01 34 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:方法中尝试它。