表数据不会在 UITableViewController 中重新加载
此代码有效:[self.tableView reloadData]
,但是如果我像这样扩展 UITableViewController
的 loadView
方法:
- (void) loadView {
[super loadView];
float headerHeight = 80;
UIView *tableV = self.tableView;
CGRect tableFrame = self.tableView.frame;
self.view = [[UIView alloc] initWithFrame:self.tableView.frame];
[self.view release];
tableFrame.origin.y += headerHeight - [UIApplication sharedApplication].statusBarFrame.size.height;
tableFrame.size.height -= headerHeight;
tableV.frame = tableFrame;
[self.view addSubview:tableV];
}
tableView 数据不是重新加载。我做错了什么?
This code works: [self.tableView reloadData]
, but if I extend the loadView
method of UITableViewController
like this:
- (void) loadView {
[super loadView];
float headerHeight = 80;
UIView *tableV = self.tableView;
CGRect tableFrame = self.tableView.frame;
self.view = [[UIView alloc] initWithFrame:self.tableView.frame];
[self.view release];
tableFrame.origin.y += headerHeight - [UIApplication sharedApplication].statusBarFrame.size.height;
tableFrame.size.height -= headerHeight;
tableV.frame = tableFrame;
[self.view addSubview:tableV];
}
the tableView data isn't reload. What am I doing wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 UITableViewController 中,self.view == self.tableView,因此在第 7 行(
self.view = [[UIView...
))中,您实际上替换了 self.view 和 self.tableView。如果您只想向下移动表格视图,请尝试使用 contentInset。
In a UITableViewController, self.view == self.tableView, so in line 7 (
self.view = [[UIView...
) you're actually replacing both self.view and self.tableView.If all you want is to move the table view down, try using contentInset.