我有一个UICollectionViewController
带有单元原型的故事板。单元格大小未直接指定,它会导致随机 UI 错误,例如拉伸单元格动画。我想直接设置大小,但我没有找到如何在 xcode 10(和最新的 swift)中做到这一点。如何解决这个问题?
注意:我知道UICollectionViewDelegateFlowLayout 的存在,但我不知道如何将它应用到UICollectionViewController
.
我有一个UICollectionViewController
带有单元原型的故事板。单元格大小未直接指定,它会导致随机 UI 错误,例如拉伸单元格动画。我想直接设置大小,但我没有找到如何在 xcode 10(和最新的 swift)中做到这一点。如何解决这个问题?
注意:我知道UICollectionViewDelegateFlowLayout 的存在,但我不知道如何将它应用到UICollectionViewController
.
发现有两种可用的布局 - “流”和“自定义”(这些名称显示在界面构建器中)。
简而言之,如果您打算使用UICollectionViewDelegateFlowLayout
“项目大小”及其简单方法,那么您应该选择“流程”
如果您使用UICollectionViewFlowLayout
:
使您的UICollectionViewController
或UIViewController
包含UICollectionView
实例采用UICollectionViewDelegateFlowLayout
class MyAwesomeCollectionViewControler: UIViewController, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout
{ ... }
实现以下方法:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: 100, height: 100) // Return desired size here}