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 - 可访问性

可访问性用于使用 SwiftUI 创建可供所有用户(包括残障用户)访问的应用程序,例如,如果某人是盲人,那么他/她可以借助画外音使用您的应用程序。SwiftUI 提供内置的可访问性支持;它允许开发人员添加标签、提示和操作,以便创建一个所有用户都可以轻松访问的界面。

它还提供各种工具,例如 VoiceOver、Switch Control 等和修饰符,这使开发人员可以更轻松地创建甚至残障人士都可以访问的应用程序。

此功能非常易于使用,并增强了所有人的用户体验。开发人员可以借助内置修饰符将它们快速集成到应用程序的界面中。 Apple 的所有平台都支持可访问性,这有助于遵守可访问性标准和法规。

SwiftUI 中的可访问性标签

可访问性标签用于为 UI 组件提供特殊的描述性文本,以便用户可以使用 VoiceOver 轻松地与元素进行通信。它使您的应用更易于访问。

我们可以使用 .accessibilityLabel(_:) 修饰符创建可访问性标签。它为不显示文本(如图标、图像等)的视图提供可访问性标签。

语法

以下是语法 −

accessibilityLabel(_ label: Text)

示例

以下 SwiftUI 程序创建了一个可访问性标签。

import SwiftUI

struct ContentView: View {
   var body: some View {
      Image(systemName: "doc.fill").font(.largeTitle)
         .accessibilityLabel("Document")
   }
}   

SwiftUI 中的可访问性提示

可访问性提示用于提供有关指定 UI 组件或视图的额外信息。当用户使用 VoiceOver 阅读屏幕时,它会向用户提供提示。

当标签无法向用户提供有关组件或视图的所有信息时,它很有用。我们可以使用 accessibilityHint(_:) 修饰符创建提示。此修饰符以提示的形式添加有关元素的更多信息。

语法

以下是语法−

accessibilityHint(_ hint: Text)

示例

以下 SwiftUI 程序创建可访问性提示。

import SwiftUI

struct ContentView: View {
   var body: some View {
      Image(systemName: "doc.fill")
         .font(.largeTitle)
         .accessibilityLabel("Document")
         .accessibilityHint("This file contains all the documents")
   }
}   

SwiftUI 中的可访问性特征

可访问性特征用于向用户提供有关 UI 组件用途的其他信息。它指示给定元素是否具有交互性,或者它是否表示某些指定内容(如按钮、标题等)以及如何处理它。

我们可以使用 .accessibilityAddTraits(_:) 修饰符创建特征,并可以使用 .accessibilityRemoveTraits(_:) 修饰符删除特征。 SwiftUI 支持各种类型的特征,例如 .isButton、.isSelected、.isHeader、.isLink、.isSearchField、.isImage、isModal、isKeyboardKey、isSelected、isSearchField、isToggle、playSound 等。

语法

以下是语法 −

accessibilityAddTraits(_traits: AccessibilityTraits)

示例

以下 SwiftUI 程序创建可访问性特征。

import SwiftUI

struct ContentView: View {
   var body: some View {
      Text("SwiftUI")
         .font(.largeTitle)
         .accessibilityAddTraits([.isButton, .isSelected])
         .accessibilityRemoveTraits(.isSelected)
   }
}  

SwiftUI 中的可访问性值

可访问性值提供了有关给定元素的当前状态或值的附加信息。它对于滑块、切换或步进器等 UI 组件非常有用。它可以轻松地与 VoiceOver 等技术配合使用。

我们可以使用 .accessibilityValue(_:) 修饰符创建值。它允许我们创建一个可以被 VoiceOver 轻松读取的值。

语法

以下是语法 −

accessibilityValue(_ valueDescription: Text)

示例

以下 SwiftUI 程序创建可访问性值。

import SwiftUI

struct ContentView: View {
   @State private var value: Double = 50 // Initial volume level

   var body: some View {
      VStack {
         Slider(value: $value, in: 0...100)
            .accessibilityLabel("Value")
            .accessibilityValue("\(Int(value)) percent")
            .padding()

         Text("Current Value: \(Int(value))%")
            .padding()
      }
   }
}
#Preview {
   ContentView()
}

SwiftUI 中的辅助功能操作

辅助功能操作用于定义由 voiceOver 和其他辅助技术确定的操作,以便残障人士能够熟练地执行指定的操作。

我们可以使用 .accessibilityAction(_:) 修饰符创建操作。此修饰符创建的操作可使用 VoiceOver 轻松读取和执行。这些操作由 VoiceOver 宣布,用户通过选择它们来执行操作。

语法

以下是语法 −

accessibilityAction(
   _ actionKind: AccessibilityActionKind,
   _ handler: @escaping () -> Void
) 

示例

以下 SwiftUI 程序创建了可访问性操作。

import SwiftUI

struct ContentView: View {
   @State private var count = 0

   var body: some View {
      VStack {
         Rectangle()
            .frame(width: 100, height: 100)
            .foregroundStyle(.red)
            .accessibilityLabel("Increment Button")
            .accessibilityAddTraits(.isButton)
            .accessibilityAction(named: "Increment") {
               count += 1
            }
      }
   }
}
#Preview {
   ContentView()
}