gpt4 book ai didi

swift - 删除 UICollectionView 单元格之间的空间

转载 作者:行者123 更新时间:2023-11-28 06:00:58 25 4
gpt4 key购买 nike

我的 UICollectionViewCell 只有一个 UIImageView。我正在为项目使用 RxSwiftdelegateMain.storyboard中设置,datasourceRxSwift中设置。我需要删除单元格之间的空格,但遇到了麻烦。此线程中的方法不起作用:

Aligning collection view cells to fit exactly 3 per row

我尝试了两个答案,但没有任何反应。

这是 UIViewCollectionController 的代码:

let disposeBag = DisposeBag()

override func viewDidLoad() {
super.viewDidLoad()

// Uncomment the following line to preserve selection between presentations
// self.clearsSelectionOnViewWillAppear = false

// Register cell classes
//self.collectionView!.register(UICollectionViewCell.self, forCellWithReuseIdentifier: reuseIdentifier)

// Do any additional setup after loading the view.
collectionView?.dataSource = nil
setupCellConfiguration()
}

private func setupCellConfiguration() {
//1
immuneCells
.bind(to: self.collectionView!
.rx //2
.items(cellIdentifier: CellTypeCollectionViewCell.Identifier,
cellType: CellTypeCollectionViewCell.self)) { // 3
row, cellType, cell in
cell.configureWithCellType(cellType: cellType) //4
}
.disposed(by: disposeBag) //5
}

override func numberOfSections(in collectionView: UICollectionView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 1
}


override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of items
let num = CellType.immune.count
return num
}

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let screenWidth = UIScreen.main.bounds.width
let scaleFactor = (screenWidth / 3) - 6

return CGSize(width: scaleFactor, height: scaleFactor)
}

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
return UIEdgeInsets.zero
}

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
return 0
}

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return 0
}

如有任何建议,我们将不胜感激

Update

我尝试为 UIImageView 设置等宽和等高、顶部、左侧约束,但没有帮助。

它是这样的:

enter image description here

最佳答案

从评论中可以看出,您的 FlowLayout 方法没有被调用。

UICollectionViewDelegateFlowLayout 添加到您的 UICollectionViewclass 定义行。

类似于:

class MyCollectionViewController: UICollectionViewController, UICollectionViewDelegateFlowLayout {

这将告诉 iOS 您的 class 实现了该协议(protocol)并支持布局方法,以便它知道调用它们。

关于swift - 删除 UICollectionView 单元格之间的空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49764890/

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