表数据不会在 UITableViewController 中重新加载

发布于 2024-12-01 15:14:05 字数 656 浏览 3 评论 0原文

此代码有效:[self.tableView reloadData],但是如果我像这样扩展 UITableViewControllerloadView 方法:

- (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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

木落 2024-12-08 15:14:05

在 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文