SwiftUI中如何移除默认Alert视图的按钮?
如何移除SwiftUI默认Alert中的按钮?
你可以直接给Alert的dismissButton参数传nil,就能移除默认的按钮,同时保留系统原生Alert的样式,无需自定义视图。
修改后的示例代码
struct ContentView: View { @State private var showingAlert = false var body: some View { Button("Show Alert") { showingAlert = true // 可选配置:3秒后自动关闭弹窗 DispatchQueue.main.asyncAfter(deadline: .now() + 3) { showingAlert = false } } .alert(isPresented: $showingAlert) { Alert( title: Text("Important message"), message: Text("Wear sunscreen"), dismissButton: nil // 传nil移除按钮 ) } } }
说明
- SwiftUI的
Alert初始化方法中,dismissButton是可选类型,传入nil就会省略按钮显示。 - 无按钮的弹窗可以通过两种方式关闭:
- 在iOS/iPadOS上,用户点击弹窗外部区域即可关闭(系统默认支持此交互);
- 通过代码控制
showingAlert的状态(比如上面示例中的延迟自动关闭)。
内容的提问来源于stack exchange,提问作者Yalamandarao
相关产品推荐
相关产品推荐

