ios - UICollectionView 在特定部分开始

标签 ios swift uiviewcontroller uicollectionview

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

相关文章:

ios - 在self中添加导航栏

ios - 不工作重新加载数据 CollectionView

ios - UICollectionView UIRefreshControl 在访问不同的 View 后不会动画

objective-c - "frameworkname"中的通用类 -Swift.h 在 Xcode 6.3 中导致 "Type name requires a specifier or qualifier"错误

当 UISearchController 处于事件状态时,iOS 9 searchBar 从表标题 View 中消失

ios - 为什么这个 UIViewController 变成了 First Responder?

ios - 实例成员不能用于嵌套类型的实例?

css - iOS 防止位置固定元素缩放

iphone - iToast在iPhone中的实现

ios - Swift Framework 仅在干净之后构建