所以我遇到的问题是,集合视图,取决于我使用的模拟器,在一个设置中显示3个(iPhone 5)列,在另一个设置中显示4列(iPhone 6)。我希望集合视图始终显示4列,无论屏幕有多大或多小。以下是我目前使用的一些代码:
override func viewDidLoad() {
super.viewDidLoad()
let screenWidth = UIScreen.mainScreen().bounds.size.width
let screenHeight = UIScreen.mainScreen().bounds.size.height
let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
layout.sectionInset = UIEdgeInsets(top: 20, left: 10, bottom: 10, right: 10)
layout.itemSize = CGSize(width: 100, height: 80)
collview1 = UICollectionView(frame: CGRectMake(0, 0, screenWidth, screenHeight), collectionViewLayout: layout)
[collview1.reloadData];
}
答案 0 :(得分:1)
您希望将layout.itemSize更改为计算值。
类似的东西:
layout.itemSize = CGSize(width: (screenWidth - spacing) / numberOfColumns, height: desiredHeight)
间距将是一行中的项目间距加上左右插图。
DesiredHeight应该是一个计算值,用于维持设备之间的单元格的宽高比。
希望这有用。