SwiftUI:创建下拉菜单
SwiftUI: Creating a Pull-down menu
在 HIG Apple writes 中:在 iOS 14 及更高版本中,按钮可以显示一个下拉菜单,其中列出了人们可以从中选择的项目或操作
这正是我想要的项目。 This picture 他们有一个带有下拉菜单的“更多”栏按钮,非常符合要求。但是,有没有人有关于如何使用 SwiftUI 从按钮创建下拉菜单(不是上下文菜单)的示例?
您可以简单地使用 iOS 中 iOS 的新视图 Menu
14.
它充当按钮,按下时会显示上下文菜单。如果你想要一个图像甚至嵌套不同的视图,你可以使用 Label
,如
文档中的示例。
struct ContentView: View {
@State var text = "Hello World"
var body: some View {
NavigationView {
Text("Hello World")
.navigationTitle("Hello")
.navigationBarItems(trailing: {
Menu {
Button(action: { text = "Hello there" }) {
Label("Hello", systemImage: "pencil")
}
} label: {
Image(systemName: "ellipsis.circle")
}
}())
}
.navigationViewStyle(StackNavigationViewStyle())
}
}
也许应该使用 toolbar
而不是 navigationBarItems
,但是我发现从 Beta 4 开始就很不可靠了。
在 HIG Apple writes 中:在 iOS 14 及更高版本中,按钮可以显示一个下拉菜单,其中列出了人们可以从中选择的项目或操作
这正是我想要的项目。 This picture 他们有一个带有下拉菜单的“更多”栏按钮,非常符合要求。但是,有没有人有关于如何使用 SwiftUI 从按钮创建下拉菜单(不是上下文菜单)的示例?
您可以简单地使用 iOS 中 iOS 的新视图 Menu
14.
它充当按钮,按下时会显示上下文菜单。如果你想要一个图像甚至嵌套不同的视图,你可以使用 Label
,如
文档中的示例。
struct ContentView: View {
@State var text = "Hello World"
var body: some View {
NavigationView {
Text("Hello World")
.navigationTitle("Hello")
.navigationBarItems(trailing: {
Menu {
Button(action: { text = "Hello there" }) {
Label("Hello", systemImage: "pencil")
}
} label: {
Image(systemName: "ellipsis.circle")
}
}())
}
.navigationViewStyle(StackNavigationViewStyle())
}
}
也许应该使用 toolbar
而不是 navigationBarItems
,但是我发现从 Beta 4 开始就很不可靠了。