Ios UITableViewController';s视图在推入嵌入式UINavigationController时具有错误的帧

Ios UITableViewController';s视图在推入嵌入式UINavigationController时具有错误的帧,ios,uitableview,uinavigationcontroller,Ios,Uitableview,Uinavigationcontroller,我有一个容器视图控制器,顶部有一个固定高度的视图,下面有一个嵌入式UINavigationController。嵌入UINavigationController的容器视图对固定高度视图具有顶部空间约束,对顶部布局指南具有底部空间约束。这导致iPhone 6上导航控制器的高度为599(顶部的固定高度视图占据其余68个点)。我已经在lldb中验证了运行时导航控制器视图的高度 但是,当我将UITableViewController推入嵌入式UINavigationController时,UITable

我有一个容器视图控制器,顶部有一个固定高度的视图,下面有一个嵌入式UINavigationController。嵌入UINavigationController的容器视图对固定高度视图具有顶部空间约束,对顶部布局指南具有底部空间约束。这导致iPhone 6上导航控制器的高度为599(顶部的固定高度视图占据其余68个点)。我已经在lldb中验证了运行时导航控制器视图的高度

但是,当我将UITableViewController推入嵌入式UINavigationController时,UITableViewController的表视图的高度为667点,而不是我预期的599点。我可以通过设置68点的底部内容插入来解决这个问题,但如果可能的话,我希望避免这种情况


我需要做什么来确保推入此UINavigationController的控制器视图的高度与导航控制器的高度匹配?

在什么时候确定表视图的高度错误?调用
viewdide:
时是否正确?我已尝试在表视图控制器中的viewdideload和viewdide末尾同时输出,但这两个位置都太高。仅供参考,我已将这一行代码添加到导航控制器代理的navigationController中(uuquo:willShowViewController:animated)方法,它似乎纠正了这个问题,但不确定是否有更好的解决方案:viewController.view.frame=navigationController.view.bounds