gpt4 book ai didi

ios - 如何让我的 UICollectionView 返回 3 列,它们之间的间距为 1 像素,就像 instagram 一样? swift

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

我在 UIViewController 上使用 UICollectionViewDelegateUICollectionViewDataSource 进行了扩展,但不知道如何让我的单元格像这样布局Instagram 的。

extension ProfileViewController: UICollectionViewDelegate, UICollectionViewDataSource {

func numberOfSections(in collectionView: UICollectionView) -> Int {
return 3
}

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return userMedias.count
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: cellId, for: indexPath) as? MediaCollectionViewCell else { return MediaCollectionViewCell() }
cell.userMedia = userMedias[indexPath.row]
return cell
}

// MARK: - Navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "toMediaDetail" {
guard let mediaDetailViewController = segue.destination as? MediaDetailViewController,
let indexPath = collectionView.indexPathsForSelectedItems?.first else { return }

let userMedia = self.userMedias[indexPath.row]

mediaDetailViewController.userMedia = userMedia
}
}
}

最佳答案

不确定您是否使用 Storyboard。如果您使用的是 Storyboard,则可以在 Storyboard中配置单元格大小。通过使用 UIEdgeInsetsMake(0, 0, 1, 1) 设置 insetForSectionAtIndex,它应该能够在单元格之间留出 1 px 的空间。

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAtIndex section: Int) -> UIEdgeInsets {
return UIEdgeInsetsMake(0, 0, 1, 1)
}

UICollection 单元格之间有 1px 的间距:

希望这会有所帮助。

关于ios - 如何让我的 UICollectionView 返回 3 列,它们之间的间距为 1 像素,就像 instagram 一样? swift ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43260812/

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