6

我有一个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];
}

根据我对视图控制器包含的了解,这应该可以工作,因为我正在为导航控制器明确设置框架。但是,当有足够的单元格超过容器的高度时,当我向下滚动时tableView,末尾总会有一个栏。tableView我已将tableView's设置backgroundColor橙色,将单元格设置backgroundColor白色,以查看差异。

tableView 末尾的间隙

我如何摆脱结尾处的橙色间隙tableView

(注意:我没有使用自动布局,我需要一个适用于 iOS7iOS6 的解决方案。)

4

2 回答 2

4

我知道您也在寻找适用于 iOS 6 的答案,但在 iOS 7 及更高版本上您可以使用

self.extendedLayoutIncludesOpaqueBars = YES;
于 2014-11-26T12:17:24.147 回答
0

你试过设置self.edgesForExtendedLayout = UIRectEdgeAll;吗?-(void)viewDidLoadTable View Controller - Root

注意:仅限 iOS 7

于 2014-04-28T11:52:46.140 回答