用户在通话时不显示收集查看项目

时间:2013-04-29 17:52:42

标签: ios uicollectionview

我有一个集合视图。当我切换通话中状态栏时,我的收藏视图项目会在绿色"您正在通话时消失。状态栏可见。当我解雇酒吧时,他们会回来。

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

有没有人遇到过这个,你是如何得到它的?我正在使用sizeForItemAtIndexPath,如下所示:

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
return self.collectionView.frame.size;
}

我应该使用其他东西来指定每个项目的大小吗?

1 个答案:

答案 0 :(得分:5)

对于任何体验过此事的人。这是定义项目大小的正确方法:

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
return self.collectionView.frame.size;
}

您可能还可以在collectionViewLayout上设置itemSize,但是在电话呼叫时使项目保持不变并且不会消失的关键是在viewDidLayoutSubviews中重新加载集合视图:

[self.collectionView reloadData];