我有一个 UIViewController,其中有一个用于日历的 UICollectionView。我在今天的日期附近添加了一个缓冲区,并得到了 3 个月前和一年后的 future 。当 View 出现在第一个日期(3 个月前)。有没有办法让 UICollectionView 出现在 ViewController 显示的后面部分(对我来说是第 3 部分)?
我尝试在 ViewController 的 viewDidAppear 中使用没有动画的 scrollToItemAtIndexPath,它起作用了,但是你可以看到日历更改月份,如果我把它放在 viewWillAppear 中,它似乎没有任何影响。
我确实通过将它放在 viewDidLayoutSubviews 中来让它工作,但它似乎在 ViewController 出现时被调用了几次,这是正确的地方吗?
如果有帮助,我正在使用 Swift 和 Xcode 7.2。
最佳答案
override func viewWillAppear(animated: Bool) {
self.view.layoutIfNeeded()
self.scrollToItemAtIndexPath(indexPathToScrollTo)
}
关于ios - UICollectionView 在特定部分开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36165999/