SwiftUI:iPad 上不需要的拆分视图 [英] SwiftUI: unwanted split view on iPad
问题描述
问题:Pad 上的视图显示不需要 拆分视图.
Problem: a view on Pad shows up with unwanted split view.
我目前的设置是:Catalina OSX 测试版 5 +Xcode 11 测试版 5
My current setup is: Catalina OSX beta 5 + Xcode 11 Beta 5
这是我使用的代码,带有导航视图和导航标题:
Here is the code I used, with a Navigation View and a Navigation Title:
import SwiftUI
struct SwiftUIView: View {
var body: some View {
NavigationView {
Text("Search")
.navigationBarTitle(Text("Search"))
}
}
}
#if DEBUG
struct SwiftUIView_Previews: PreviewProvider {
static var previews: some View {
SwiftUIView()
}
}
#endif
当在 iPad(物理设备和预览)而不是全屏视图上模拟时,我得到了这个分屏视图:
When simulated on iPad (both physical device and preview) instead of a full screen view, I get this split screen view:
如果我只有一个视图,没有 NavigationView,我会得到一个全屏视图:
If I have just a view, with no NavigationView, I get a full screen view:
import SwiftUI
struct SwiftUIView: View {
var body: some View {
Text("Hello World!")
}
}
#if DEBUG
struct SwiftUIView_Previews: PreviewProvider {
static var previews: some View {
SwiftUIView()
}
}
#endif
如何在 iPad 上制作 NavigationView 全屏(非分屏)?
How can I make a NavigationView full screen (not split screen) on iPad?
推荐答案
您可以将 .navigationViewStyle(StackNavigationViewStyle())
修饰符应用于 NavigationView!
You can apply the .navigationViewStyle(StackNavigationViewStyle())
modifier to the NavigationView!
...
NavigationView {
Text("Hello world!")
}
.navigationViewStyle(StackNavigationViewStyle())
...
下面,我从他的评论中回答亚历山大的问题:
Below, I am answering Alexandre's questions from his comment:
为什么完整视图不是 iPad 的默认设置?这只是 Apple 的选择...
Why full view is not the default for iPad? That's just a choice made by Apple...
为什么这个修饰符在 NavigationView 闭包之外,而导航标题在里面...... 也许这可以澄清:https://stackoverflow.com/a/57400873/11432719
这篇关于SwiftUI:iPad 上不需要的拆分视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!