我在调整 tableHeaderView 大小时遇到问题。这么简单是行不通的。
1) 创建 UITableView 和 UIView (100 x 320 px);
2)将UIView设置为UITableView的tableHeaderView;
3) 构建并运行。一切都好。
现在,我想调整 tableHeaderView 的大小,因此我在 viewDidLoad 中添加以下代码:
self.tableView.autoresizesSubviews = YES;
self.tableView.tableHeaderView = myHeaderView;
self.tableView.tableFooterView = myFooterView;
CGRect newFrame = self.tableView.tableHeaderView.frame;
newFrame.size.height = newFrame.size.height + 100;
self.tableView.tableHeaderView.frame = newFrame;
tableHeaderView 的高度应该显示为 200,但显示为 100。
如果我写:
self.tableView.autoresizesSubviews = YES;
CGRect newFrame = myHeaderView.frame;
newFrame.size.height = newFrame.size.height + 100;
myHeaderView.frame = newFrame;
self.tableView.tableHeaderView = myHeaderView;
self.tableView.tableFooterView = myFooterView;
然后它从 200 的高度开始,如我所愿。但我希望能够在运行时修改它。
我也尝试过,但没有成功:
self.tableView.autoresizesSubviews = YES;
self.tableView.tableHeaderView = myHeaderView;
self.tableView.tableFooterView = myFooterView;
CGRect newFrame = self.tableView.tableHeaderView.frame;
newFrame.size.height = newFrame.size.height + 100;
self.tableView.tableHeaderView.frame = newFrame;
[self.tableView.tableHeaderView setNeedsLayout];
[self.tableView.tableHeaderView setNeedsDisplay];
[self.tableView setNeedsLayout];
[self.tableView setNeedsDisplay];
这里的要点是:我们如何在运行时调整 tableHeaderView 的大小???
有人能做到吗?
谢谢
iMe
最佳答案
仅供引用:我通过修改 tableHeaderView 并重新设置它来使其工作。在本例中,当 UIWebView subview 加载完成时,我将调整 tableHeaderView 的大小。
[webView sizeToFit];
CGRect newFrame = headerView.frame;
newFrame.size.height = newFrame.size.height + webView.frame.size.height;
headerView.frame = newFrame;
[self.tableView setTableHeaderView:headerView];
关于iphone - 如何调整 UITableView 的 tableHeaderView 的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/341256/