好的,这是一张图片:
我有带有 UILabel 的自定义 UITableViewCell。
很明显我应该在 -setEditing 方法中调整我的自定义 UILabel 的大小,但是如何准确计算调整它的大小呢?是否有有效的方法来调整重用单元格的大小?
谢谢!
好的,这是一张图片:
我有带有 UILabel 的自定义 UITableViewCell。
很明显我应该在 -setEditing 方法中调整我的自定义 UILabel 的大小,但是如何准确计算调整它的大小呢?是否有有效的方法来调整重用单元格的大小?
谢谢!
setEditing
如果您有正确的自动调整掩码,则无需在方法中执行任何操作:
label.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleRightMargin;
所以第一个问题是你如何将标签添加到UITableViewCell
? 如果您将其添加到单元格中view
,那么这就是您的问题开始的地方。
UITableViewCell
scontentView
有财产。这contentView
负责在单元格进入编辑模式时调整其内容的大小。它知道如何做到这一点。单元格的view
属性没有。因此,首先您需要将您的UILabel
作为单元格的子视图添加contentView
到initWithStyle:
. 但是,单元格实际上并不知道它有多大initWithStyle:
,因此您可以将标签的框架设置在layoutSubviews
.
至于调整单元格的大小,您可以在tableView:heightForRowAtIndexPath:
在这种方法中,您可以检查indexPath
行的高度并适当地配置高度。