gpt4 book ai didi

ios - 有在 iPhone XR 模拟器上横向使用 SwiftUI NavigationView 的经验吗?

转载 作者:行者123 更新时间:2023-12-02 00:04:56 24 4
gpt4 key购买 nike

我尝试在 iPhone XR 模拟器上横向运行我的应用程序,但屏幕空白。

下面的代码是我的测试。如果我删除 NavigationView,它可以在 iPhone 8 模拟器上正常运行,但也不能在 iPhone XR 模拟器上运行。

import SwiftUI

struct ContentView: View {
var body: some View {
NavigationView {
GeometryReader { gp in
VStack(alignment: HorizontalAlignment.center) {
Text("Width: \(gp.size.width)")
Text("Height: \(gp.size.height)")
}
}
}
}
}

我希望能够看到横向和纵向屏幕的尺寸。

有人有这种组合的经验吗?

最佳答案

没有什么问题。只是当大 iPhone 处于横向时,其水平尺寸类别设置为 .regular,而不是 .compact。把它想象成一台 iPad。

您可以通过从屏幕左侧滑动来验证它:

enter image description here

如果您更改代码以在未选择任何内容时添加默认 View ,您会得到另一种外观:

enter image description here

struct ContentView: View {
var body: some View {
NavigationView {
GeometryReader { gp in
VStack(alignment: HorizontalAlignment.center) {
Text("Width: \(gp.size.width)")
Text("Height: \(gp.size.height)")
NavigationLink(destination: Text("Something got selected")) { Text("Select something") }
}

}

Text("No Selection")
}
}
}

如果您想强制其为.compact,请执行以下操作:

enter image description here

struct ContentView: View {
var body: some View {
NavigationView {
GeometryReader { gp in
VStack(alignment: HorizontalAlignment.center) {
Text("Width: \(gp.size.width)")
Text("Height: \(gp.size.height)")
NavigationLink(destination: Text("Something got selected")) { Text("Select something") }
}

}

Text("No Selection")
}.environment(\.horizontalSizeClass, .compact)
}
}

关于ios - 有在 iPhone XR 模拟器上横向使用 SwiftUI NavigationView 的经验吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57344471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com