调用setEditing时,自定义UITableViewCell调整标签大小

时间:2012-10-24 16:57:26

标签: iphone ios cocoa-touch

好的,这是一张图片:

enter image description here

我已经使用UILabel定制了UITableViewCell。

很明显,我应该在-setEditing方法中调整自定义UILabel的大小,但是如何精确计算调整大小的大小呢?是否有有效的方法来重新调整重用的细胞?

谢谢!

2 个答案:

答案 0 :(得分:2)

如果您拥有正确的自动调整遮罩,则无需在setEditing方法中执行任何操作:

label.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleRightMargin;

答案 1 :(得分:0)

所以第一个问题是如何将标签添加到UITableViewCell?如果您要将其添加到单元格view,那么这就是问题开始的地方。

UITableViewCell具有contentView属性。当单元格进入编辑模式时,此contentView负责调整其内容的大小。它知道如何做到这一点。单元格的view属性没有。因此,首先您需要将UILabel添加为contentView中单元格initWithStyle:的子视图。但是,单元格实际上并不知道它在initWithStyle:中的大小,因此您可以在layoutSubviews中设置标签的框架。

关于调整单元格的大小,您可以在tableView:heightForRowAtIndexPath:

中执行此操作

在此方法中,您可以检查行的indexPath并正确配置高度。