【发布时间】:2010-09-25 08:53:33
【问题描述】:
我在调整 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
【问题讨论】:
标签: iphone cocoa-touch uitableview