gpt4 book ai didi

ios - Uicollectionview 单元格宽度问题 iOS 10

转载 作者:行者123 更新时间:2023-11-28 12:37:29 24 4
gpt4 key购买 nike

我有一个 Collection View Controller ,我是这样设置的:

class r : UICollectionViewCell {

override var bounds: CGRect {
didSet {
contentView.frame = bounds
}
}
}
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "1", for: indexPath) as? r

cell.backgroundColor = UIColor.red

return cell


}
override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {

return 5
}

我希望单元格的宽度等于屏幕的宽度,因此在 Storyboard中我编辑了单元格的宽度:

enter image description here

但是我有一个问题:

如果我在 iPhone 6 模拟器上执行它,我会得到这个(这是我想在所有设备上得到的):

enter image description here

但是如果在 iPad Pro 上执行我会得到这个:

enter image description here

我不明白为什么。你能帮帮我吗?

P.S 由于某些原因我不想使用tableview

最佳答案

在 iOS 10 中,函数原型(prototype)有细微差别:这是 sizeAtItemAtIndexPath 的 Swift3.0 委托(delegate)方法:

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: IndexPath) -> CGSize {
let screenRect: CGRect = UIScreen.main.bounds
let screenWidth: CGFloat = screenRect.size.width
let screencellHeight: CGFloat = screenRect.size.height
let cellWidth: CGFloat = screenWidth / CGFloat(2)
let cellHeight:CGFloat = screencellHeight / CGFloat(10.0)
let size: CGSize = CGSize(width: cellWidth, height: cellHeight)
return size
}

关于ios - Uicollectionview 单元格宽度问题 iOS 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40452869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com