SwiftUI 教程

SwiftUI 主页 SwiftUI 概览 SwiftUI 与 UIkit

SwiftUI 环境

SwiftUI 安装和环境配置 SwiftUI 基本组件 SwiftUI 构建第一个应用程序

SwiftUI 视图

SwiftUI 视图 SwiftUI 自定义文本视图 SwiftUI 自定义图像视图 SwiftUI 堆栈

SwiftUI 绘制形状

SwiftUI 形状 SwiftUI 绘制线条 SwiftUI 绘制矩形 SwiftUI 绘制圆角矩形 SwiftUI 绘制三角形 SwiftUI 绘制圆形 SwiftUI 绘制星形 SwiftUI 绘制多边形 SwiftUI 绘制饼图 SwiftUI 使用内置形状

SwiftUI 文本

SwiftUI 文本视图 SwiftUI 文本输入和输出

SwiftUI 颜色

SwiftUI 颜色 SwiftUI 颜色选择器 SwiftUI 渐变 SwiftUI 调整颜色

SwiftUI 效果

SwiftUI 效果 SwiftUI 混合效果 SwiftUI BLur 效果 SwiftUI 阴影效果 SwiftUI 悬停效果

SwiftUI 动画

SwiftUI 动画 SwiftUI 创建动画 SwiftUI 创建显式动画 SwiftUI 多个动画 SwiftUI 过渡 SwiftUI 不对称过渡 SwiftUI 自定义过渡

SwiftUI 图像

SwiftUI 图像 SwiftUI 图像作为背景 SwiftUI 旋转图像 SwiftUI 媒体

SwiftUI 视图布局

SwiftUI 视图布局 SwiftUI 视图大小 SwiftUI 视图间距 SwiftUI 视图填充

SwiftUI UI 控件

SwiftUI UI 控件 SwiftUI 按钮 SwiftUI 复选框 SwiftUI 菜单栏 SwiftUI 工具栏 SwiftUI 搜索栏 SwiftUI 文本字段 SwiftUI 滑块 SwiftUI 切换 SwiftUI 选择器 SwiftUI 菜单

SwiftUI 列表 &表格

SwiftUI 列表 SwiftUI 静态列表 SwiftUI 动态列表 SwiftUI 自定义列表 SwiftUI 表格

SwiftUI 表单

SwiftUI 表单 SwiftUI 在部分中拆分表单

SwiftUI 事件处理

SwiftUI 事件处理 SwiftUI 手势 SwiftUI 剪贴板 SwiftUI 拖放 SwiftUI 焦点 SwiftUI 警报

SwiftUI 杂项

SwiftUI 容器 SwiftUI 导航 SwiftUI 通知 SwiftUI 跨平台 UI SwiftUI 数据 SwiftUI 可访问性

SwiftUI 框架集成

SwiftUI 框架集成 SwiftUI 与 UIKit 交互 SwiftUI 创建 macOS 应用

SwiftUI 有用资源

SwiftUI 有用资源 SwiftUI 讨论


SwiftUI - Alert

Alert 是 SwiftUI 中向用户显示的一种特殊类型的弹出消息或通知。它通常在执行关键操作之前向用户显示一些重要消息。警报旨在在用户执行任何关键任务时引起用户的注意或确认。

警报框由重要消息和一个或两个按钮组成,例如 OK、Delete、Cancel 等。警报框通常用于显示信息、确认、警告或错误消息。在本章中,我们将学习如何在 SwiftUI 中创建警报框。

在 SwiftUI 中创建警报

在 SwiftUI 中,我们可以使用预定义的 alert() 修饰符创建警报框。此修饰符使用给定的数据显示警报对话框。此修饰符仅受 iOS、tvOS 和 watchOS 支持。

要显示警告框,请将 isPresented 设置为 true,并且数据中必须包含内容。显示警告框后,数据参数的值不会改变。

语法

以下是语法 −

alert<A, T>(
   _ title: Text,
   isPresented: Binding<Bool>,
   presenting data: T?,
   @ViewBuilder actions: (T) -> A
) -> some View where A : View

参数

以下是修饰符 − 接受的参数

  • title:表示警报的标题。

  • isPresented:布尔值检查警报是否存在。每当用户对警报消息采取行动时,系统都会将其值设置为 false。

  • data:它是给定警报的可选真实来源。在这里系统将内容传递给修饰符闭包。我们可以在警报框中显示此数据。

  • action:它是一个返回警报操作的 viewBuilder。

示例 1

以下 SwiftUI 程序创建一个警报框。

import SwiftUI

struct ContentView: View {
   @State private var myAlert : Bool = false
   
   var body: some View {
      VStack{
         Button("Click Here"){
            myAlert = true
         }
         .clipShape(Rectangle())
         .background(.gray)
         .foregroundStyle(.white)
         .font(.largeTitle)
         .alert("Alert", isPresented: $myAlert){
            Button("Ok", role: .cancel){}
         }message: {
            Text("If you click on this button your system will hanged")
         }
      }
   }
}
#Preview {
   ContentView()
}

输出

alert Box

示例 2

以下 SwiftUI 程序创建一个带有多个按钮的警告框。

import SwiftUI

struct ContentView: View {
   @State private var myAlert : Bool = false
   @State private var username = ""
   @State private var password = ""   
   
   var body: some View {
      VStack{
         TextField("Username", text: $username).textFieldStyle(.roundedBorder)
         TextField("passcode", text: $password).textFieldStyle(.roundedBorder)
         
         Button("Click Here"){
            myAlert = true
         }.font(.largeTitle)
         .alert("Alert", isPresented: $myAlert){
            Button("Signup", role: .none){}
            Button("Cancel", role: .cancel){}
         }message: {
            Text("Do you want to SignUp or not?")
         }
      }
   }
}
#Preview {
   ContentView()
}

输出

alert Box