更改tableHeaderView的高度会隐藏单元格

Spa*_*het 14 iphone layout frame uitableview

在我的UITableView中,我有一个tableHeaderView,它应该根据内容调整自己的大小.调整大小很好,但是,tableHeaderView模糊了前几个单元格.显然更改tableHeaderView的框架不会重新组织视图的其余部分.

我已经打过电话[self.tableView layoutSubViews][self.tableView setNeedsLayout],但那些没有任何帮助.还尝试从Interface Builder中提供tableHeaderView一个插座来更改其上的框架,但这也不会重新组织tableView.

如何在不隐藏任何单元格的情况下更改tableHeaderView的大小,重新组织tableView的其余部分?

Rag*_*ari 23

在调整内容大小后,尝试设置UITableView的tableHeaderView属性.

[self.tableView setTableHeaderView:self.myResizedTableHeaderView];
Run Code Online (Sandbox Code Playgroud)

解决了我的问题.希望能帮助到你.

  • 特别是对我来说,我推迟调整大小直到viewWillAppear:因为我的控制器是动态实例化的,因此在此之前没有适当的几何引用. (3认同)

Lud*_*dry 4

我不知道你是如何创建 UITableView 的,但我尝试使用像你这样的 tableHeaderView 创建一个 UITableView 并且它正在调整大小。

我创建了一个继承自 UITableViewController 的类

@interface MyTableViewController : UITableViewController {

}

@end
Run Code Online (Sandbox Code Playgroud)

对于实现,在 viewDidLoad 中,我添加了:

UIView *header = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)];
[header setBackgroundColor:[UIColor redColor]];
self.tableView.tableHeaderView = header;
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 最后,我使用了这个方法,没有在 Interface Builder 中创建视图。谢谢! (2认同)