Ios 对导航项的约束发生意外更改

Ios 对导航项的约束发生意外更改,ios,swift,autolayout,Ios,Swift,Autolayout,在我的应用程序中,我有一个登录屏幕,然后是一个带有3个选项卡的TabBarController。这是我的主要故事板的截图: EventTable和DrinkTable的约束是相同的。登录屏幕后显示的第一个ViewController是EventViewController。在该视图中,表格具有导航项的右边距 移动到DrinkViewController时,该表的边距错误,如下所示: 如果我点击回车按钮返回到DrinkViewController,进入下一个ViewController,则表格的

在我的应用程序中,我有一个登录屏幕,然后是一个带有3个选项卡的TabBarController。这是我的主要故事板的截图:

EventTable和DrinkTable的约束是相同的。登录屏幕后显示的第一个ViewController是EventViewController。在该视图中,表格具有导航项的右边距

移动到DrinkViewController时,该表的边距错误,如下所示: 如果我点击回车按钮返回到DrinkViewController,进入下一个ViewController,则表格的边距显示正确: 我的NavigationItem有什么问题?TabBarController和NavigationController NavigationItem之间有区别吗?目前我不知道如何让它工作。
我想问题不在于特定的ViewController,而在于TabBarController/NavigationController。如果我交换TabBarController中的ViewController,则正如您在第二张图片中所看到的那样,开头未显示的ViewController将被破坏。

您应该在故事板中为所有视图控制器设置扩展边

只需在顶部栏和底部栏下取消选择即可。这应该能奏效

如果你已经有了这个设置,也许你可以用实际的视图控制器来更新这个问题,这个控制器看起来是错误的,我在你的故事板屏幕截图中看不到它


让我知道它是否适合你

编辑我的问题。这没有帮助。您在viewDidLoad中有任何滚动逻辑吗?看起来框架是正确的,只是当视图呈现时tableView contentOffset不是0。我没有滚动逻辑。我将使用viewDidLoad编辑我的问题。