我有一个 Collection View 。当我切换通话中状态栏时,当绿色的“您正在通话”状态栏可见时,我的收藏 View 项目会消失。当我离开酒吧时,他们会回来。
日志显示:“未定义 UICollectionViewFlowLayout 的行为,因为项目高度必须小于 UICollectionView 的高度减去部分插入的顶部和底部值。”
有没有人遇到过这种情况,您是如何解决的?我正在使用 sizeForItemAtIndexPath 如下:
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
return self.collectionView.frame.size;
}
我应该使用其他东西来指定每个项目的大小吗?
最佳答案
对于任何其他经历过这种情况的人。这是定义项目大小的正确方法:
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
return self.collectionView.frame.size;
}
您可能还可以在 collectionViewLayout 上设置 itemSize,但要使项目保持不变并且在通话时不会消失的关键是在 viewDidLayoutSubviews 中重新加载 Collection View :
[self.collectionView reloadData];
关于ios - 用户通话时不显示收藏 View 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16285128/