自定义 UICollectionViewCell 子视图布局问题

Posted

技术标签:

【中文标题】自定义 UICollectionViewCell 子视图布局问题【英文标题】:Custom UICollectionViewCell Subview Layout Issue 【发布时间】:2014-09-19 15:21:35 【问题描述】:

我有一个自定义 UICollectionViewCell 类,它将单元格的背景视图设置为下载的图像,还添加了一个 UILabel,它整齐地位于单元格的底部并且略微透明(这个标签是图像的标题)。它在纵向上看起来很棒,但是当我将设备旋转到横向时,UILabel 会保持在其位置,而自定义单元格会自行调整大小以更好地适应屏幕。我的 UILabel 完全限制在单元格中,所以我不知道为什么它不调整大小以始终适合单元格的宽度,无论设备是纵向/横向。

我在下面附上了这些图片,以更好地说明到底发生了什么:

【问题讨论】:

【参考方案1】:

我想通了 - 对于同样想知道同样事情的任何人,这就是我所做的:

我在我的自定义 UICollectionViewCell 类中覆盖了 layoutSubviews 方法,并强制我的 UILabel 坚持单元格的宽度和底部。

这很奇怪,因为在我升级到 xCode 6 和 ios 8 之前,无需此解决方案(情节提要中的约束有效),它就可以完美运行,但现在我不得不使用这种方法。

干杯!

【讨论】:

我遇到了类似的问题,但它在某些设备上有效,但在其他设备上无效。

以上是关于自定义 UICollectionViewCell 子视图布局问题的主要内容,如果未能解决你的问题,请参考以下文章

XCTest 与自定义 UICollectionViewCell

UICollectionViewCell 内带有 UITableView 的自定义单元格

从自定义 UICollectionViewCell 获取正确的按钮

如何创建自定义 UICollectionViewCell

如何通过 NSArray 显示自定义 UICollectionViewCell?

如何与自定义 UICollectionViewCell 单元格交互