我将UIViewController
(红色)设置为UITabBarController
的第一个标签,如下面的故事板所示。此视图控制器是一个容器视图控制器,并在其UINavigationController
(红色视图控制器内的白色矩形)内加载contentView
。
这是我在红色视图控制器contentView
内加载导航控制器的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
// instantiate navigation controller
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UINavigationController *navigationVC = [storyboard instantiateViewControllerWithIdentifier:@"N"];
// place navigation controller inside content view
[self addChildViewController:navigationVC];
navigationVC.view.frame = self.containerView.bounds;
[self.containerView addSubview:navigationVC.view];
[navigationVC didMoveToParentViewController:self];
}
根据我对视图控制器包含的了解,这个应该工作,因为我明确地设置了导航控制器的框架。但是,当tableView
中有足够的单元格超过容器的高度时,当我向下滚动时,tableView
的末尾总会有一个条形。我已将tableView
' s backgroundColor
设置为橙色,将单元格backgroundColor
设置为白色为了看到差异。
如何摆脱tableView
(注意:我不使用autolayout,我需要一个适用于iOS7 和 iOS6的解决方案。)
答案 0 :(得分:4)
我知道您也在寻找适用于iOS 6的答案,但在iOS 7及以上版本中您可以使用
self.extendedLayoutIncludesOpaqueBars = YES;
答案 1 :(得分:0)
您是否尝试在self.edgesForExtendedLayout = UIRectEdgeAll;
的{{1}}设置-(void)viewDidLoad
?
注意:仅限iOS 7