为什么我的UITableView不占用屏幕边界?

时间:2009-05-01 18:16:58

标签: iphone objective-c cocoa-touch

我正在以编程方式构建UITableView,而不使用NIB文件。然而,我正在做一些愚蠢的事情,因为我的导航栏显示得很好,就像我的UITableView一样。但是,UITableView无法正确安装到屏幕上。您将看到大约20个像素分隔UINavigationBar和UITableView。我将我的窗口的backgroundColor设置为黑色,正如您在此屏幕截图中看到的那样:

enter image description here

以下是重现问题的代码:

- (void)loadView
{
    [super loadView];
    // TableViews that wish to utilize tableView footers/headers should override this method.

    UITableView *aTableView = [[UITableView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame] style:UITableViewStylePlain];
    aTableView.autoresizingMask = (UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight);
    aTableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;

    aTableView.delegate = self;
    aTableView.dataSource = dataSource;

    self.tableView = aTableView;
    [self.view addSubview:self.tableView];
    [aTableView release];

    // style navigation bar.
    //self.navigationController.navigationBar.barStyle = UIBarStyleBlackOpaque;
}     

1 个答案:

答案 0 :(得分:1)

使用bounds而不是applicationFrame