9.1 使用对话框
在 UIKit 环境里如果要创建一个 Alert 或 Acton Sheet(动作菜单/动作面板/行动列表)对话框,是要用 present 的方式呈现。由于 SwiftUI 使用的是声明式语法,所以不需要这么麻烦。想法我们只需要声明一下弹出对话框的条件,然后设定一下样式就可以了,因为满足条件的时候,自己就会弹出来。
这是使用 presentation()
修改器来完成的,它会在满足条件的时候把对话框弹出来,也可以同时添加多个对话框。例如有一个切换按钮,切换为 true 的时候会触发 Alert 对话框。
这种情况,我们可以把这些对话框添加到主视图或者任何一个子视图。但是这二者有一个微妙的区别,不能添加到按钮视图里,毕竟它只是个按钮。相反的,应该按钮后面,以便 SwiftUI 知道它在声明时候需要显示。