ios - 水平 Collection View 不起作用

标签 ios swift uicollectionview flowlayout swift4

我有一个水平 UICollectionView,我希望它每列有一个项目,全部在一行中。这些元素的尺寸各不相同。为了做到这一点,我使用了这个 UICollectionViewFlowLayout:

let layout = UICollectionViewFlowLayout()
layout.sectionInset = UIEdgeInsets(top: 0, left: 50, bottom: 0, right: 50)
layout.scrollDirection = .horizontal
layout.minimumInteritemSpacing = CGFloat.greatestFiniteMagnitude

然后我用该布局初始化了我的 UICollectionView。

项目大小是正确的,但有时它们会放在同一列中,这很糟糕。根据this answer ,我的最后一行应该可以解决问题,但事实并非如此。最后一行只是使项目彼此相距极远。我还使用 collectionView.height 而不是 CGFloat.greatestFiniteMagnitude 进行了测试,但我得到了同样糟糕的结果。

我该如何解决这个问题,这可能是 Swift 4 的错误吗? –– 这是在 Swift 4 中

最佳答案

这似乎解决了问题。我不知道为什么这有效,但它确实有效:)

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

关于ios - 水平 Collection View 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45927350/

相关文章:

swift - 删除 CollectionView iOS 中的间距

ios - xcodebuild ios 导出存档在成功构建时失败

iphone - 使用 MPMoviePlayerController 播放视频,同时使用 AudioQueue 进行录制

swift - sceneDidLoad 运行两次

ios - 如何使用 cocoapods 安装适用于 iOS 的 facebook sdk?

ios - Collection View 更改单元格大小

ios - 更改禁用按钮的色调颜色不起作用

ios - 为什么 Apple 使用特殊的 COREDATA_EXTERN 限定符而不只是 extern?

swift - 替换 NSTextStorage 中的 NSAttributedString 移动 NSTextView 光标

ios - 添加到 UICollectionViewCell 的 UIButton 在 iOS 7.1 中没有响应,但在 iOS 8.0 上有效