Ios 如何在导航和选项卡控制器内正确添加UITableView?
我有一个导航设置,上面有一个UITabBarController。然后,我有一个选项卡,通过创建一个UIViewController并将其放入UINavigationController中来实例化,如下所示:Ios 如何在导航和选项卡控制器内正确添加UITableView?,ios,objective-c,uitableview,Ios,Objective C,Uitableview,我有一个导航设置,上面有一个UITabBarController。然后,我有一个选项卡,通过创建一个UIViewController并将其放入UINavigationController中来实例化,如下所示: UIViewController *testVC = [UIViewController new]; // Has UITableView as subview UINavigationController *testNavVC = [[UINavigationController all
UIViewController *testVC = [UIViewController new]; // Has UITableView as subview
UINavigationController *testNavVC = [[UINavigationController alloc] initWithRootViewController:testVC];
[self setViewControllers:@[testNavVC]];
出现的问题是testVC UIViewController内部的UITableView。该表正确显示在顶部,并正确位于UINAV控制器导航条下方。但是,当您将表格视图滚动到底部时,表格视图中的最后一行将在屏幕底部被切断。我发现我可以将底部内容插入设置为100(值将根据行高而不同),以正确显示内容。不过我觉得我不需要这样做,我正在寻找更好的解决方案
如何正确添加以这种方式嵌套的UITableView
作为旁注,当使用UITableViewController而不是添加了UITableView的UIViewController时,这一切都能正常工作。在我的情况下,我需要使用后一种选择 您可以尝试使用bottomLayoutGuide属性调整UITableView底部插入,而无需硬编码:
tableView.contentInset = UIEdgeInsetsMake(0.0, 0.0, self.bottomLayoutGuide.length, 0.0);
它表示内容的最低垂直范围,可从iOS 7使用
或者,您可以使用此值为UITableView创建底部NSLayoutConstraint。我的所有代码都是以编程方式完成的,问题是我使用视图框架设置UITableView。我把它改为使用自动布局,效果很好