根据各种屏幕尺寸自动布局集合视图
Auto Layout Collection view according to various screen sizes
我在使用集合视图委托和数据源的普通视图控制器中使用集合视图。我正在使用 sizeForItemAtIndexPath 但它不会调整单元格的大小。
let screenSize: CGRect = UIScreen.main.bounds
func collectionView(_collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize
{
return CGSize(width: screenSize.width / 3, height: screenSize.width / 3)
}
使用 autoLayout 正确地为集合视图分配了约束。
它在 iPhone5 中的样子
外观应该如何
我知道使用了 estimatedItemSize 但我无法使用它,因为这不是 UICollectionViewController。谢谢你的建议?
确保:
- 正在确认
UICollectionViewDelegateFlowLayout
。
- collectionView 的宽度 = 屏幕的宽度。
- 单元格的最小间距为零。您可以从 Interface Builder 更改它(Select collectionView -> 显示大小检查器 -> 将最小间距设置为 0),或者通过实现
minimumInteritemSpacingForSectionAt
返回零。
希望这能回答您的问题。
我在使用集合视图委托和数据源的普通视图控制器中使用集合视图。我正在使用 sizeForItemAtIndexPath 但它不会调整单元格的大小。
let screenSize: CGRect = UIScreen.main.bounds
func collectionView(_collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize
{
return CGSize(width: screenSize.width / 3, height: screenSize.width / 3)
}
使用 autoLayout 正确地为集合视图分配了约束。
它在 iPhone5 中的样子
外观应该如何
我知道使用了 estimatedItemSize 但我无法使用它,因为这不是 UICollectionViewController。谢谢你的建议?
确保:
- 正在确认
UICollectionViewDelegateFlowLayout
。 - collectionView 的宽度 = 屏幕的宽度。
- 单元格的最小间距为零。您可以从 Interface Builder 更改它(Select collectionView -> 显示大小检查器 -> 将最小间距设置为 0),或者通过实现
minimumInteritemSpacingForSectionAt
返回零。
希望这能回答您的问题。