UIView w。以编程方式调整大小时,TableView重叠TableCell的动态高度

时间:2013-12-20 04:23:20

标签: ios uiview uitableview

我在tableview上面添加了一个“标题”UIView。标题UIView用于显示用户发布的状态更新。我的应用程序中的状态从单行到几行文本,所以我所做的是在我的VC中添加代码以编程方式调整大小“标题“UIView,以便所有文本都适合。调整标题UIView的大小已按计划完美运行。唯一的副作用是当UIView的帧变大时,它开始重叠我表中的第一个单元格,这是不希望的。

任何线索为何会发生这种情况和/或如何解决这个问题?如果我从我的故事板中使UIView更大或更小,那么这种副作用就不会发生,因此我希望在以编程方式使UIView更大时,它会出现。我认为Table只知道将表格单元格推下来。

enter image description here

2 个答案:

答案 0 :(得分:3)

这是表头视图的行为方式。如果将视图拖动到UITableView中,它将变为tableHeaderView。要消除不需要的重叠,您必须在进行大小更改后将该视图重新声明为tableHeaderView。因此,如果您有一个指向此视图的属性名为header,请执行以下操作:

// do your resizing here
self.tableView.tableHeaderView = header;

答案 1 :(得分:1)

您可以考虑将视图作为表视图的节头,并实现- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section方法,或者在调整“标题”视图大小后调整表格视图的框架。