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

Mis*_*cha 6 uitableview uiview uinavigationcontroller ios containment

我有一个UIViewController(红色)设置为a的第一个标签,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];
}
Run Code Online (Sandbox Code Playgroud)

根据我所知的视图控制器包含,这应该工作,因为我明确设置导航控制器的框架.但是,如果有足够的单元格tableView超过容器的高度,那么tableView当我向下滚动时,总会有一个条形.为了看到差异,我将tableView's 设置backgroundColor橙色,将单元格设置backgroundColor白色.

tableView结束时的差距

我怎么摆脱那个橙色的差距tableView呢?

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

dam*_*hec 0

您尝试过self.edgesForExtendedLayout = UIRectEdgeAll;设置-(void)viewDidLoadTable View Controller - Root

注意:仅限 iOS 7