【发布时间】:2014-06-13 22:50:10
【问题描述】:
我将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 的末尾总会有一个条形图。我已将tableView 的backgroundColor 设置为橙色,并将单元格的backgroundColor 设置为白色,以便查看差异。
如何消除tableView 末尾的橙色间隙?
(注意:我不使用自动布局,我需要一个同时适用于 iOS7 和 iOS6的解决方案。)
【问题讨论】:
-
设置tableView的背景颜色为nil,那么问题就出在这了。
-
tableView的颜色无关紧要。这是不应该存在的差距或“额外行”。 -
我认为子 VC(导航控制器)尊重父标签栏。
-
我同意。问题是:如何让表格视图控制器了解它不应该尊重父标签栏本身?因为很明显,导航视图控制器会正确调整其相对于标签栏的高度,而不是表格视图的工作......
-
你最终解决了这个问题吗?
标签: ios uitableview uiview uinavigationcontroller containment