我正在以编程方式构建UITableView,而不使用NIB文件。然而,我正在做一些愚蠢的事情,因为我的导航栏显示得很好,就像我的UITableView一样。但是,UITableView无法正确安装到屏幕上。您将看到大约20个像素分隔UINavigationBar和UITableView。我将我的窗口的backgroundColor设置为黑色,正如您在此屏幕截图中看到的那样:
以下是重现问题的代码:
- (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;
}
答案 0 :(得分:1)
使用bounds而不是applicationFrame