ios - UICollectionViewCell 没有填满 Swift 3 中的整个屏幕

标签 ios swift uicollectionview uicollectionviewcell

enter image description here

我有一个 UICollectionView,它的单元格覆盖了整个屏幕。我的问题是右边有一个小空间显示不同的单元格。我希望每个单元格都覆盖屏幕的整个宽度。

这是我尝试过的:

  1. 在 Storyboard 中将最小间距设置为 0
  2. 设置每个单元格以适合整个 View 框架
private func collectionView(collectionView: UICollectionView,
                    layout collectionViewLayout: UICollectionViewLayout,
                    sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
    return CGSize(width: view.frame.width, height: view.frame.height)
}

我还应该做些什么来解决这个问题吗?

最佳答案

正确的 Swift 3 实现应该是

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        let itemWidth = collectionView.bounds.width
        let itemHeight = collectionView.bounds.height
        return CGSize(width: itemWidth, height: itemHeight)
}

这将使每个 Collection View 单元格填满整个 Collection View 。它不应该是私有(private)的。现在您需要做的就是确保您的 Collection View 横跨整个 View 。

还要确保扩展您的 ViewController 以包含 UICollectionViewDelegateFlowLayout 以使上述方法起作用,并将 Storyboard 中的所有部分插入更改为 0。

关于ios - UICollectionViewCell 没有填满 Swift 3 中的整个屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40812737/

相关文章:

ios - 苹果成员(member)中心 "Edit Provisioning Profile"操作会影响之前的Provisioning Profiles吗?

ios - Swift 4 - UITapGestureRecognizer 选择器函数未调用

swift - Sprite 位置没有更新到它被移动到的位置

ios - 如何滚动到 UICollectionView 的中心(水平和垂直)

objective-c - UIDatePicker 和 UIPickerView 的 UIView 或 UIViewController?

ios - 悬停一个 DIV 会影响另一个 DIV : Why takes two taps on portable devices?

swift - 如何在 iOS 15 上使用 UIWindowScene.windows?

ios - 从远程播放 MKV 视频

ios - 单击 CollectionViewCell 中的 ImageView 以转到 ViewController

ios - 如何将 UICollectionViewCell 嵌套在另一个 UICollectionViewCell 中?