自定义集合视图单元无法正常工作

Ami*_*mit 1 ios uicollectionview uicollectionviewcell swift

尝试创建自定义单元格,但是当我在单元格collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath)中添加标签时不起作用。

没有标签单元格 UI:

在此处输入图片说明

iPad 模拟器 UI 是:

在此处输入图片说明

但是当我在单元格中添加标签时:

在此处输入图片说明

iPad 模拟器 UI 变为:

在此处输入图片说明

UICollectionViewDelegateFlowLayout方法中:

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    let emptySpace = 87*2 + 10
    let remainingWidth = Int(self.view.frame.width) - emptySpace
    return CGSize(width: remainingWidth/2, height: remainingWidth/2)
}
Run Code Online (Sandbox Code Playgroud)

Ale*_*lan 11

您是否使用 Xcode 11 (GM 2) 进行构建?我在实施sizeForItemAt.

似乎有些事情导致集合视图忽略返回的大小sizeForItemAt,而是使用子视图的大小。

什么工作对我来说是设置Estimate SizeNone在界面生成器集合视图。

这并不理想,特别是如果您有很多单元格,但这是我不幸找到的唯一解决方法。

在 Interface Builder 中的集合视图上将 <code>Estimated Size</code> 设置为 <code>None</code>