Ios 视图显示为模态视图动画,而不是显示(推送)动画

Ios 视图显示为模态视图动画,而不是显示(推送)动画,ios,swift,swift2,Ios,Swift,Swift2,我最近将我的应用程序从iOS 8.3升级到iOS 9。 在修复了代码中的各种错误后,当我注意到以下问题时,我设法编译并运行了应用程序 当我执行segue单击(例如,UIButton)时,加载segue的视图会显示模式视图的动画(从底部滑动直到到达顶部),但在故事板中segue是Show(例如推)。此外,导航控制器中的“后退”按钮不再显示 当我执行segue时,控制台会打印以下内容: 不允许在视图控制器解除分配时尝试加载视图控制器的视图,这可能会导致未定义的行为() 问题似乎只出现在一个视图中,当

我最近将我的应用程序从iOS 8.3升级到iOS 9。 在修复了代码中的各种错误后,当我注意到以下问题时,我设法编译并运行了应用程序

当我执行segue单击(例如,UIButton)时,加载segue的视图会显示模式视图的动画(从底部滑动直到到达顶部),但在故事板中segue是
Show(例如推)
。此外,导航控制器中的“后退”按钮不再显示

当我执行segue时,控制台会打印以下内容:

不允许在视图控制器解除分配时尝试加载视图控制器的视图,这可能会导致未定义的行为()


问题似乎只出现在一个视图中,当加载其他视图时,我尝试将其他视图设置为初始视图控制器和所有工作。

查看项目中的情节提要后,我发现问题是由于每次推送之后都有额外的导航控制器。也就是说,除了初始(根)导航控制器外,故事板还包含一个
UINavigationController
,作为有问题的推送序列的目标。删除这些额外的导航控制器(但保留根导航控制器)解决了问题。

请发布调用的代码,以向新的视图控制器显示意外的动画。@ndmeiri实际上没有代码:我使用序列图像板来执行一个序列。两个视图控制器在同一序列图像板中吗?您是否确保该故事板中的初始视图控制器设置为UINavigationController?是的,它们是,导航控制器现在设置为初始视图控制器,但情况不会改变。如果在视图出现之前移除导航控制器,一切看起来都正常。我也有同样的问题。persay说,按照下面的建议移除备用导航控制器可以解决这个问题,但这似乎更像是一个解决方案,而不是一个解决方案。苹果开发者论坛上有很多人认为这可能是一个bug。我遇到了相同的控制台错误消息,但请注意以下几点:导航控制器的分段必须保留,因为它们与拆分视图控制器(到详细视图控制器)一起使用;(因此)代码不需要展开段(代码还包括用于在父视图中设置值的块);在
viewdiload
中使用以下代码行来抑制控制台错误消息<代码>[self.searchController loadview如果需要](注释可从iOS 9获得)。