Это для 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 и несколько других вещей, но проблема остается. Любая помощь с этим будет высоко ценится.