我的应用有一个主文档窗口,左侧包含一个列表,右侧包含一些详细信息:
var body: some View {
NavigationView {
List(0 ..< 5) { layer in
NavigationLink(destination: LayerDetail()) {
LayerItemCell()
}
}
.frame(minWidth: 200.0)
}
}
我已经为 List
视图和右侧的详细视图指定了最小宽度。不幸的是,当我缩小窗口时,列表和详细信息视图都将被迫缩小到它们的最小值以下,SwiftUI 使列表消失,而不是将窗口限制为最小尺寸:
我真正想要的是窗口不要缩小那么小。但我真的不想添加 .frame(minWidth:)
约束,因为那样我在代码中有两个地方可以检查设计是否发生变化。
最后,如何让固定在左侧的图像下方的小状态栏保持不变?每个 Text
视图都有特定的宽度,当窗口太窄时,它会将 HStack
推向左侧,而不是向右截断:
我在视图层次结构的各个部分尝试了各种 .frame(alignment: .leading)
,但似乎都没有我想要的。视图左对齐,直到窗口变得太小,此时它们开始居中(并左右截断)。
看起来 .frame()
的效果确实不好(例如,我无法让 idealWidth
做任何事情)。但也许我只是用错了。