UITableViewCell的contentView的宽度与给定的配件类型

时间:2009-05-23 18:10:52

标签: iphone cocoa-touch uitableview

在iPhone上,当它显示某个附件视图(披露指示符等)时,如何计算表格视图单元格内容视图的宽度?

我需要这个来计算包含包装,可变长度文本的单元格的正确单元格高度。但是当要求表视图委托获取单元格高度时,它实际上并没有实际的单元格实例,因此它不能直接查询内容视图边界。

我可以轻松地在右侧硬编码一个20像素的边距,这对于带有显示指示的纵向样式的普通样式表格视图来说是准确的,但是更喜欢以正确的方式进行,以便它继续工作如果Apple决定调整保证金。

(这与this question有关。)

3 个答案:

答案 0 :(得分:2)

就个人而言,我只是硬编码值 - 更简单,事情会以可预测的方式破坏。

但是如果我以编程方式执行此操作,我会创建一个UITableViewCell,设置您需要测量的编辑属性/附件视图,然后询问它的contentView有多大。

当然我可能会大量缓存这个 - 当要求UITableView向你询问高度信息时我会做分配,因为它会很慢(尽管一如既往地检查一下探查器)。

答案 1 :(得分:0)

我有一个UITableViewCell的子类,它包含所有子元素。当单元格进入并存在编辑模式时,您可以插入某些元素的框架。 Apple的Table View编程指南中有关于创建自定义表格视图单元的部分的一个很好的例子。

答案 2 :(得分:0)

我相信UITableViewCell的contentView属性是包含标签等的视图,因此宽度应该是您可以使用的大小。