【发布时间】:2020-07-02 20:55:04
【问题描述】:
这适用于 MacOS。我正在尝试制作一个相当标准的 3 窗格界面,就像您在 Xcode 和其他应用程序中看到的那样,在调整窗口大小时中心视图具有优先权。两个侧视图可调整大小,但在调整窗口大小时应保持相同大小。我有以下示例,它可以满足我的要求,但是当我调整窗口大小时会出现奇怪的调整大小伪影,但只有当我使窗口变小时(实际上只有当它变窄时):
struct ContentView: View {
var body: some View {
GeometryReader{geometry in
HSplitView(){
Rectangle().foregroundColor(.red).frame(minWidth:200, idealWidth: 200, maxWidth: .infinity)//.layoutPriority(0)
HSplitView(){
Rectangle().foregroundColor(.black).frame(minWidth:200, idealWidth: geometry.size.width, maxWidth: .infinity).layoutPriority(1)
Rectangle().foregroundColor(.green).frame(minWidth:200, idealWidth: 200, maxWidth: .infinity)
}
}.frame(width: geometry.size.width, height: geometry.size.height)
}
}
}
当使窗口变窄时,左侧红色矩形似乎优先于中心矩形,导致红色矩形在两个宽度之间翻转时闪烁。我已经尝试了 layoutPriority 和其他一些东西,但问题仍然存在。对此的任何帮助将不胜感激。
【问题讨论】: