【发布时间】:2020-05-06 13:30:35
【问题描述】:
我有一个 SwiftUI 菜单按钮,可以很好地处理 10 个或更少的项目:
struct ContentView: View {
var body: some View {
MenuButton("My Button") {
Button("A") { }
Button("B") { }
Button("C") { }
Button("D") { }
Button("E") { }
Button("F") { }
Button("G") { }
Button("H") { }
Button("I") { }
Button("J") { }
}
}
}
但是,当添加第 11 个项目时,它不会编译,因为 SwiftUI 将组的大小限制为 10。对于普通组(如 VStack),我只会将一些项目包装在 Group 或 @ 987654330@,但这会破坏MenuButton 的视觉效果。
将前 5 个元素包装在 Group 中:
将前 5 个元素包装在 Section 中:
将前 5 个元素包裹在 VStack 中(间距很好,但整个组可以一起选择):
这样做的正确方法是什么?
【问题讨论】: