【发布时间】:2014-12-09 23:11:17
【问题描述】:
我有一段时间让我的UICollectionViewCell 高度根据里面的内容(在 UILabel 元素中)是动态的。我已经阅读了所有关于如何使用 iOS 8 更容易做到这一点的文章,但我现在花了很多时间试图弄清楚这一点。希望我只是缺少一些小东西。希望...
我能够在某种程度上通过使用this approach(sizeForItemAtIndexPath 部分)手动设置每个单元格的高度来完成这项工作 - 根据文本计算出来(@987654326 @),但就像我说的,我一遍又一遍地读到它应该是“神奇”的自动布局和 iOS 8,我不应该做所有这些。
这是我在视图控制器的cellForItemAtIndexPath 方法中的代码:
var cell:LocationCell = collectionView.dequeueReusableCellWithReuseIdentifier("LocationCell", forIndexPath: indexPath) as LocationCell
let thisLocation = fetchedResultsController.objectAtIndexPath(indexPath) as LocationModel
cell.notesLabel.text = thisLocation.notes
cell.notesLabel.sizeToFit()
return cell
够简单吗?对?但是每个单元格的高度相同——不管notesLabel 的大小是多少。这是故事板上的样子:
在模拟器中:
如您所见,UICollectionViewCell 的高度没有变化。我还尝试在viewDidLoad 中添加布局属性estimatedItemSize,但无论我放入估计 大小,所有UICollectionViewCells 都是如何出现的。
我可以发送任何不清楚的 github 链接。非常感谢您的帮助,这已经困扰了我好几天了!
【问题讨论】:
标签: ios swift uicollectionview