上周我一直在看这段代码和其他类似的代码,我有一个问题。
这个应用程序(下面的代码链接)是一个简单的5个问题的SwiftUI应用程序。使用iPhone 11模拟器,测验可以完美运行,当您点击back nav链接并按下开始测验按钮时,测验将再次运行。但是,在iPad上,“开始测验”按钮无法重新启动测验。
我想既然两者都在运行相同的IOS,那么它们的功能应该是相同的,但事实并非如此。在我的物理iPad上试了一下,也是一样的。测试只运行一次,不会再运行第二次。有人知道为什么吗?谢谢你的帮忙!
发布于 2020-05-28 21:42:46
问题是,默认情况下,SwiftUI导航模型是基于UISplitview的,并且在iPad上,“开始测验”导航链接将导航传输到它的第二个控制器。在iphone上,第二个控制器折叠起来。
对于游戏来说,这意味着对于iPad (以及横屏模式下的大型iPhones ),游戏不能重新启动。
如果您在大型iPhone上运行游戏,然后在游戏中途旋转它,您也会发现异常。
通过使用以下命令,可以将导航视图样式更改为不使用拆分视图模型:
.navigationViewStyle(StackNavigationViewStyle())
在NavigationView结束支撑之后。
https://stackoverflow.com/questions/62073084
复制