UICollectionView大小:iOS9与iOS8

时间:2015-08-19 19:18:03

标签: ios uicollectionview

在我的应用程序中,我想计算最佳细胞高度,以便细胞完全匹配可见区域。

获得可见矩形大小的最佳方法是什么?我的意思是导航栏和屏幕底部之间的空间。

目前我的尺码是

self.collectionView!.frame.size

但是它包含statusBar和navigationBar的区域。所以我减去了nav-和stautusbar的大小。这适用于iOS9,但不适用于iOS8。

那么,我如何仅为所有设备获取可见区域?

1 个答案:

答案 0 :(得分:0)

不是一个真正的答案,但作为一种解决方法,您可以检测iOS版本并根据它进行修改:

if ( ([[[UIDevice currentDevice] systemVersion] compare:@"9.0" options:NSNumericSearch] != NSOrderedAscending) ) { /* iOS 9.0 or greater */ }

当然,最好使用相对于顶部布局指南(理想情况使用不透明导航栏)的约束来定义布局,以避免弄乱它,或者在顶部添加20个点检测某些iOS版本时的约束。