我有同样的问题 UITableView scrolling under the navigation bar但是我将此作为一个新问题发布,因为我有一些更具体的细节。
我在一个带有黑色TRANSLUCENT导航栏的页面上有一个全屏幕表(带有部分)。这是在UIViewController中,因为我有一些视图覆盖在顶部,因此表以编程方式创建;
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
self.navigationController.navigationBar.tintColor = nil;
self.navigationController.navigationBar.translucent = YES;
tableView = [[UITableView alloc] initWithFrame:[[UIScreen mainScreen] bounds] style:UITableViewStylePlain];
tableView.delegate = self;
tableView.dataSource = self;
[tableView setContentInset:UIEdgeInsetsMake(44,0,0,0)];
[self.view addSubview:tableView];
[tableView release];
}
我的问题是虽然这在iOS4上完美运行 - 因为在滚动时,部分标题会在半透明的桌面视图的底部进行对接,而在iOS3上,标题会反过来直到状态栏的底部:(
如果我将半透明属性设置为NO,并删除contentInset,则它在两个操作系统中的工作方式相同且正确。
除此之外,行为是正确的,我希望表格的内容向上滚动到半透明导航栏后面,但我也希望章节标题在导航栏下方停止,以便它们完全可见。
对于iOS3和iOS4,这是否应该有效?我可能做错了什么想法?
由于 罗杰
答案 0 :(得分:0)
尝试将tableview的框架框架设置为self.view.bounds
我的猜测[[UIScreen mainScreen]界限]是480像素高(带状态栏)。
P.S。作为另一种选择尝试设置self.wantfullscreenlayout = NO;