为不同的 iPhone 设备自动调整 CollectionView 单元的大小
Posted
技术标签:
【中文标题】为不同的 iPhone 设备自动调整 CollectionView 单元的大小【英文标题】:Autoresize UICollectionViewCells for different IPhones devices 【发布时间】:2014-11-19 20:00:52 【问题描述】:前段时间我升级了xcode,发现故事板设计有一些变化。所以之前,我只是用 UICollectionViewCell 创建 UICollectionView 控制器。我手动设置了单元格的宽度和高度,以及单元格中的所有子项。因此,当我在不同的 iphone 上运行应用程序时,它总是具有不同的大小,但单元格之间的空间相同。它还会调整其中的单元格和内容的大小。查看 Iphone5S 和 iphone6 的屏幕截图
但是现在,同样的设置结果是不一样的
Sa U 可以看到 iphone5S 和 Iphone6 中单元格之间的空间是不同的。那么如何为单元格之间的空间设置常规大小并为不同的 iphone 设置更大的单元格。我的应用仅适用于具有纵向模式的 Iphone
【问题讨论】:
【参考方案1】:你可以这样做:
CGFloat margin = 10;
int itemsPerRow = 3;
CGFloat itemSideSize = ([[UIScreen mainScreen] bounds].size.width - itemsPerRow * margin) / 2;
[(UICollectionViewFlowLayout *)self.collectionView.collectionViewLayout setItemSize:CGSizeMake(itemSideSize, itemSizeSize)];
[(UICollectionViewFlowLayout *)self.collectionView.collectionViewLayout setMinimumInteritemSpacing:margin];
[(UICollectionViewFlowLayout *)self.collectionView.collectionViewLayout setMinimumLineSpacing:margin];
[(UICollectionViewFlowLayout *)self.collectionView.collectionViewLayout setSectionInset:UIEdgeInsetsMake(margin, margin, margin, margin)];
【讨论】:
以上是关于为不同的 iPhone 设备自动调整 CollectionView 单元的大小的主要内容,如果未能解决你的问题,请参考以下文章
将UIView中UILabel的字体大小调整为不同的设备大小
Xcode 5:不同屏幕大小的 iPhone 自动布局视图调整大小问题