Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在导航和选项卡控制器内正确添加UITableView?_Ios_Objective C_Uitableview - Fatal编程技术网

Ios 如何在导航和选项卡控制器内正确添加UITableView?

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

我有一个导航设置,上面有一个UITabBarController。然后,我有一个选项卡,通过创建一个UIViewController并将其放入UINavigationController中来实例化,如下所示:

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。我把它改为使用自动布局,效果很好