Changing the height of a tableHeaderView hides the cells

[亡魂溺海] 提交于 2019-12-21 03:33:49

问题


In my UITableView, I have a tableHeaderView that should resize itself according to the content. The resizing works fine, however, the tableHeaderView obscures the first couple of cells. Apparantly changing the frame of the tableHeaderView doesn't reorganize the rest of the view.

I've already tried calling [self.tableView layoutSubViews] and [self.tableView setNeedsLayout], but those don't help either. Also tried giving the tableHeaderView from the Interface Builder an outlet to change the frame on that, but that doesn't reorganize the tableView either.

How can I change the size of the tableHeaderView, without hiding any cells, reorganizing the rest of the tableView?


回答1:


I don't know how you created you UITableView, but I tried to create one with a tableHeaderView like you and it's resizing.

I created a class inheriting from UITableViewController

@interface MyTableViewController : UITableViewController {

}

@end

and for the implementation, in the viewDidLoad, I added:

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




回答2:


Try setting the tableHeaderView property of the UITableView after you resized your content.

[self.tableView setTableHeaderView:self.myResizedTableHeaderView];

Solved the problem for me. Hope it helps.



来源:https://stackoverflow.com/questions/5484493/changing-the-height-of-a-tableheaderview-hides-the-cells

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!