Ios 有没有在iPhone XR模拟器上使用SwifUI NavigationView的经验?
我试着在iPhone XR模拟器上运行我的应用程序,结果屏幕一片空白 下面的代码是我的测试代码。如果我删除NavigationView,它可以在iPhone 8模拟器上正常工作,也不能在iPhone XR模拟器上正常工作Ios 有没有在iPhone XR模拟器上使用SwifUI NavigationView的经验?,ios,ios-simulator,swiftui,iphone-xr,Ios,Ios Simulator,Swiftui,Iphone Xr,我试着在iPhone XR模拟器上运行我的应用程序,结果屏幕一片空白 下面的代码是我的测试代码。如果我删除NavigationView,它可以在iPhone 8模拟器上正常工作,也不能在iPhone XR模拟器上正常工作 导入快捷界面 结构ContentView:View{ var body:一些观点{ 导航视图{ GeometryReader{gp in VStack(对齐:水平对齐.中心){ 文本(“宽度:\(gp.size.Width)”) 文本(“高度:\(gp.size.Height)
导入快捷界面
结构ContentView:View{
var body:一些观点{
导航视图{
GeometryReader{gp in
VStack(对齐:水平对齐.中心){
文本(“宽度:\(gp.size.Width)”)
文本(“高度:\(gp.size.Height)”)
}
}
}
}
}
我希望我能看到屏幕的横向和纵向尺寸
有人有过这种组合的经验吗?没有什么错。只是当一台大型iPhone处于横向时,它的水平尺寸等级设置为
.regular
,而不是.compact
。把它想象成一台iPad
您可以通过从屏幕左侧滑动来验证:
如果更改代码以在未选择任何内容的情况下添加默认视图,则会得到另一种外观:
struct ContentView:View{
var body:一些观点{
导航视图{
GeometryReader{gp in
VStack(对齐:水平对齐.中心){
文本(“宽度:\(gp.size.Width)”)
文本(“高度:\(gp.size.Height)”)
NavigationLink(目的地:文本(“选择的对象”){Text(“选择的对象”)}
}
}
文本(“无选择”)
}
}
}
如果要将其强制为.compact,请执行以下操作:
struct ContentView:View{
var body:一些观点{
导航视图{
GeometryReader{gp in
VStack(对齐:水平对齐.中心){
文本(“宽度:\(gp.size.Width)”)
文本(“高度:\(gp.size.Height)”)
NavigationLink(目的地:文本(“选择的对象”){Text(“选择的对象”)}
}
}
文本(“无选择”)
}.environment(\.horizontalSizeClass、.compact)
}
}
将此修改器添加到NavigationView会禁用主-详细视图
NavigationView {
// Code
}
.environment(\.horizontalSizeClass, .compact)
好吧,我承认这就是正在发生的事情,但为什么只是在NavigationView中?这就是它们的工作方式。
UINavigationController
也会发生同样的事情。谢谢,但这正是@kontiki所写的。是的,我只是想快速回答一下。我刚从堆栈溢出开始,很抱歉冗余。