在我的故事板里,我有一个视图控制器(嵌套在导航控制器中)。
在视图控制器内部,我有一个标签栏控制器,在标签内有一个表格视图控制器。我的问题是表格视图的最后一行被标签栏控制器的标签所覆盖。如果我为iOS 6构建我的应用程序,则不会发生这种情况。
如何解决这个问题?谢谢!
如何解决这个问题?谢谢!
self.navigationController.navigationBar.translucent = NO; //将透明度设置为否,
self.tabBar.translucent = NO; //设置此属性以使选项卡栏不透明。
self.tabBar.translucent = NO;
automaticallyAdjustsScrollViewInsets
没有被应用(或者被正确应用)。尝试将你的表格复制到一个新的 UIViewController
中,并确保在该视图控制器的“调整滚动视图插入”标识检查器中打开了检查标记。我曾经遇到同样的问题,但是那些得到赞的答案并没有解决它。请参考我的回答以及类似问题的iOS7中Tab Bar覆盖TableView单元格。
我通过在表视图控制器的viewWillAppear:
方法中手动设置表视图的框架(如Matt Quiros所建议的)为屏幕高度 - (状态栏高度 + 导航栏高度 + 标签栏高度)来解决这个问题。
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
// Adjust height of tableview (does not resize correctly in iOS 7)
CGRect tableViewFrame = self.tableView.frame;
tableViewFrame.size.height = [self heightForTableView];
self.tableView.frame = tableViewFrame;
}
- (CGFloat)heightForTableView
{
return CGRectGetHeight([[UIScreen mainScreen] bounds]) -
(CGRectGetHeight([[UIApplication sharedApplication] statusBarFrame]) +
CGRectGetHeight(self.navigationController.navigationBar.frame) +
CGRectGetHeight(self.tabBarController.tabBar.frame));
}