作者:将登太行的2602939913 | 来源:互联网 | 2024-12-19 19:55
在我的应用中,用户成功登录后会被推送至一个Master-Detail
视图控制器。然而,从iOS 13开始,这一过渡总是以模态方式呈现,而在此之前的版本中,登录屏幕是被推送到初始视图控制器,并且与之关联的主视图控制器链接了其他具有菜单功能的视图控制器。
为了更好地说明这个问题,我使用了来自Ray Wenderlich教程中的Master-Detail视图结构的最终代码,并添加了一个带有按钮的视图,通过推段链接来控制视图控制器的切换。即使在Storyboard中,也能观察到Master视图控制器是以模态方式呈现的,而不是通过推送。
我附上了修改后的源代码,展示了上述问题的具体表现。同时,这里有一张截图:
解决方法之一是在Storyboard中将展示类型更改为“模态”,并将展示模式设置为“全屏”。此外,如果您的初始视图控制器未嵌入导航控制器中,这可能导致视图控制器在iOS 13中无法全屏显示。您可以通过Storyboard或编程方式调整这些设置。
例如,在代码中可以这样处理:
if #available(iOS 13.0, *) {
nextViewController.modalPresentatiOnStyle= .fullScreen
}
这样可以确保无论设备的iOS版本如何,Master-Detail视图控制器都能以全屏模态方式正确展示。