前提:UINavigationController的navigationBar的透明度不為1
在UINavigationController下的UITableView可能會出現(xiàn)偏移,這是UITableViewWrapperView在作怪兔甘。
第一種方法(不一定管用):
前提:tableview
的style
改成plain
在控制器里添加如下代碼:
self.navigationController.automaticallyAdjustsScrollViewInsets = NO;
// 將navigationBar的透明度改為1
self.navigationController.navigationBar.translucent = YES;
第二種方法(很土但有效):
前提:tableview
的style
改成plain
1够坐、tableview
不是顯示在控制器的最上方就會出現(xiàn)這種問題态鳖。tableview
必須顯示在控制器的最上方,所以在最后添加[self.view addSubview:self.tableView]
2蚯撩、若你有控件必須顯示在tableview
的上方(如懸浮按鈕之類的)逗爹,可以在
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
// 添加tableview
[self.view addSubview:self.tableView];
}
- (void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
// 添加顯示在tableview上方的控件
}
3绑蔫、若果你是UINavigationController下的tabbar下創(chuàng)建的控制器中的tableView蛋哭,你需要在tabbar的item切換代理方法中再次添加一下tableView县习,其他控件異步延遲一點時間,再在主線程中添加谆趾。