本节课演示如何打开一个动作表单,并在动作表单提供两个选项供用户选择,从而实现类似于传统的UIActionSheet的效果。
示例代码:
struct ContentView : View { @State var isPresented = false //标识是否弹出动作表单 var myActionSheet: ActionSheet { //初始化一个动作表单 ActionSheet(title: Text("Information"), message: Text("What's your favorite?"), buttons: [ .default(Text("Fishing")) { //往动作表单里添加第一个默认样式的选项按钮,设置选项按钮的标题文字,当用户点击选项按钮时,在控制台输出一条日志 print("---I like fishing") }, .destructive(Text("Hunting")) { //添加一个毁坏样式的选项按钮,该按钮的标题文字为红色 print("---I like hunting") }, .cancel({ //最后在动作表单的最下方,添加一个取消按钮 print("---Nothing") }) ] ) } var body: some View { VStack { Button("Show action sheet") { self.isPresented = true } } .actionSheet(isPresented: $isPresented, content: { myActionSheet }) } }