将嵌套在容器视图控制器中的UINavigationController添加到UITabBarController

我有一个UIViewController (红色)设置为UITabBarController的第一个选项卡,如下面的故事板中所示。 这个视图控制器是一个容器视图控制器,并在其contentView (红色视图控制器内的白色矩形)内加载一个UINavigationController

故事板

这是我加载红色视图控制器的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的末尾总会有一个条形。 我已经将tableViewbackgroundColor橙色 ,将单元格的backgroundColor白色 ,以便看出区别。

在tableView结尾的差距

我如何摆脱在tableView结束的橙色差距?

(注意:我没有使用autolayout,我需要一个适用于iOS7 iOS6的解决scheme。)

我知道你也在寻找一个适用于iOS 6的解决scheme,但在iOS 7和更高版本中,你可以使用它

 self.extendedLayoutIncludesOpaqueBars = YES; 

你有没有尝试设置self.edgesForExtendedLayout = UIRectEdgeAll;-(void)viewDidLoadTable View Controller - Root

注意 :仅限iOS 7

Interesting Posts