当你有一个推断的导航栏时,我对tableview的布局有一个非常令人沮丧的问题。
为了重新产生这个bug
1:创建基于导航的应用。
2:创建包含XIB文件的第二个ViewController(在此XIB文件中,选择要模拟的顶部栏)。
3:在第一个屏幕上,放置一个按钮,单击该按钮将转到步骤2中创建的新控制器
4:在新的xib文件上,在屏幕上放置一个tableview并设置委托方法。
5:使用xib文件创建第三个ViewController。
现在在第二个屏幕的didselectrow表委托方法下,我设置了将我带到第3个屏幕。然而,当应用程序导航到新屏幕时,按下后退按钮,将桌面视图向下推动等于导航栏的高度。见图片
最初的tableview屏幕看起来像这样
然后我选择表格行,进入第3个屏幕,然后按回按钮,然后它看起来像这个
这只发生在XIB文件中。如果我创建相同的功能但仅使用storyboard而不是XIB文件,则不会发生此问题。现在我可以通过删除推断的顶部栏来修复此问题,而是手动将导航栏放在XIB文件中。但是我不应该每次都这样做,因为它很烦人。
仅当使用tableview导航到新屏幕时才会出现这种情况,如果我使用按钮导航到第3屏幕,则不会出现此类问题。
这是新版Xcode的错误吗?我在以前浏览tableviews时没有注意到这个问题。