我有一个UIPageViewController,其中包含UICollectionViewControllers,它们的collectionView'scontentInset需要调整。由于各种UI布局原因,当这些UICollectionViewControllers出现在UIPageViewController中时,我只需要contentInset即可。下面是我为collectionView调整contentInset的尝试。
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)
}
}
我遇到的问题是,只有第一个视图控制器(在第一页上)才能对contentInset进行调整,是否有更好的方法可以做到这一点
最佳答案
不知道您是否解决了这个问题,但是这可能已经发生,因为仅可见集合视图的单元格(在ViewControllerA
中)被出队。其他VC中的集合视图的单元可能尚未出队,或者其他VC本身尚未初始化(不确定如何实例化VC)。我要么使用UIPageViewController
的委托方法来设置每个集合视图的contentInset
属性,要么在每个VC的viewWillAppear:
方法中尝试它。
关于ios - 在UIPageViewController内部设置UICollectionView的内容插图?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30582173/