我使用UICollectionView
列出了UIButton
个不同大小的列表。在情节提要中,我为集合视图设置了前导和尾随约束(每个像素与安全区域相关的像素为20px)。那就是我得到的:
如您所见,为了使单元格“合理化”,增加了单元格之间的空间(我在情节提要中设置)。那不是我想要的,我想在单元格之间有固定的空间,并最终在行尾增加空间。有可能吗?
答案 0 :(得分:0)
import UIKit
class CustomImageFlowLayout: UICollectionViewFlowLayout {
override init() {
super.init()
setupLayout()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setupLayout()
}
func setupLayout() {
minimumInteritemSpacing = 1
minimumLineSpacing = 1
scrollDirection = .vertical
}
override var itemSize: CGSize {
set {
}
get {
let numberOfColumns: CGFloat = 3 //no of columns
let itemWidth = (self.collectionView!.frame.width - (numberOfColumns - 1)) / numberOfColumns
return CGSize(width: itemWidth, height: itemWidth + 5)
}
}
}
On your collection view controller
@IBOutlet weak var colectionvw: UICollectionView!
var collectionViewLayout: CustomImageFlowLayout!
override func viewDidLoad()
{
super.viewDidLoad()
collectionViewLayout = CustomImageFlowLayout()
colectionvw.collectionViewLayout = collectionViewLayout
}
答案 1 :(得分:0)
您可以通过将CollectionView scrollDirection设置为Horizontal来解决此问题。这将自动设置大小并根据需要进行排列。