我想做的事
在Storyboard中将CollectionView从ControllerA复制到ControllerB
我做过的事情
从ControllerA复制(CMD + D)CollectionView(工作正常) 拖放到ControllerB
重新定位(ctrl + drag)dataSource并委托给ControllerB
应该是
重复的collectionView应该像在ControllerA中一样正常工作
但结果是
numberOfSectionsInCollectionView
和numberOfItemsInSection
被调用
但cellForItemAtIndexPath
未调用
修改1
问题看起来与CollectionView的框架大小相关
CollectionView:size(320,50)流程布局,水平滚动
CollectionViewCell:size(50,50)
如果我将CollectionView高度拖动到65,它会发出警告:(cellForItemAtIndexPath
已调用)
未定义UICollectionViewFlowLayout的行为,因为: 项目高度必须小于UICollectionView的高度减去该部分的顶部和底部值。
如果CollectionView高度> = 114,则无效警告。
具有相同参数大小(320,50)的ControllerA将起作用。不知道为什么
修改2
如果我使用所有相同的设置复制CollectionView并重新定位到同一个委托。重复的一个不能按预期工作。 但是原来的!!怪异!!
答案 0 :(得分:1)
升级到xcode 6 beta 5后,我注意到该单元格不在CollectionView的可见区域
<强>解决方案强>:
在父视图控制器属性检查器中关闭Adjust Scroll View Insets
选项
或者将此代码添加到父视图控制器viewDidLoad方法:
self.automaticallyAdjustsScrollViewInsets = NO;