我有一个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/

10-10 23:12