自动确定UITableViewCell的大小

时间:2010-04-04 22:02:50

标签: iphone objective-c

我正在尝试确定UITableCellView的大小。原因是我使用一个类用于不同的方向和设备。

单元格包含一个应该填充整个单元格的子视图。我知道我在UITableViewCell的{​​{1}}方法中执行此操作:

init
显然,必须有更好的方法来做到这一点,没有神奇的数字。如何/在哪里应该在UITableViewCell中设置子视图的框架,以便它填满整个UITableViewCell?

1 个答案:

答案 0 :(得分:2)

使用单元格将进入的表视图的尺寸。将autoresizingMask设置为灵活宽度以处理旋转和附件视图。此代码假定您已设置表的rowHeight,但您可以使用屏幕高度的一小部分而不是测试设备类型。

-(CGRect) cellFrameForTableView:(UITableView *)inTable {
  CGRect result = [inTable frame];

  result.origin = CGPointZero;
  result.size.height = [inTable rowHeight];

  return result;
}

将自定义视图添加到单元格内容,而不是单元格,如果您希望自动调整大小以调整视图,以便为附件视图等单元格附加功能留出空间。在这种情况下,编辑控件之类的内容会调整您的自定义视图以及内容视图。

过去我在单元格中有灵活的高度视图时遇到问题,所以我会选择灵活的底部边距。