SwiftUI:iPad上不必要的拆分视图 [英] SwiftUI: unwanted split view on iPad
问题描述
问题:Pad上的视图显示为 不需要 的拆分视图.
Problem: a view on Pad shows up with unwanted split view.
我当前的设置是: Catalina OSX Beta 5 + Xcode 11 Beta 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
Why this modifier goes outside of NavigationView closure, while the Navigation Title goes inside... Maybe this gives clarification: https://stackoverflow.com/a/57400873/11432719
这篇关于SwiftUI:iPad上不必要的拆分视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!