ios storyboard重复的CollectionView cellForItemAtIndexPath未调用

时间:2014-08-04 08:32:35

标签: ios storyboard collectionview

我想做的事

在Storyboard中将CollectionView从ControllerA复制到ControllerB

我做过的事情

从ControllerA复制(CMD + D)CollectionView(工作正常) 拖放到ControllerB

重新定位(ctrl + drag)dataSource并委托给ControllerB

应该是

重复的collectionView应该像在ControllerA中一样正常工作

但结果是

numberOfSectionsInCollectionViewnumberOfItemsInSection被调用 但cellForItemAtIndexPath未调用

修改1

问题看起来与CollectionView的框架大小相关

CollectionView:size(320,50)流程布局,水平滚动

CollectionViewCell:size(50,50)

如果我将CollectionView高度拖动到65,它会发出警告:(cellForItemAtIndexPath已调用)

未定义UICollectionViewFlowLayout的行为,因为: 项目高度必须小于UICollectionView的高度减去该部分的顶部和底部值。

如果CollectionView高度> = 114,则无效警告。

具有相同参数大小(320,50)的ControllerA将起作用。不知道为什么

修改2

如果我使用所有相同的设置复制CollectionView并重新定位到同一个委托。重复的一个不能按预期工作。 但是原来的!!怪异!!

1 个答案:

答案 0 :(得分:1)

升级到xcode 6 beta 5后,我注意到该单元格不在CollectionView的可见区域

<强>解决方案

在父视图控制器属性检查器中关闭Adjust Scroll View Insets选项 或者将此代码添加到父视图控制器viewDidLoad方法: self.automaticallyAdjustsScrollViewInsets = NO;

REF:UICollectionView adds top margin