SwiftUI 核心技术与高级实践
第1章 视图与布局系统
1.1_声明式语法入门 1.2_构建基本视图:Text, Image, Shape 1.3_使用 VStack, HStack, ZStack 组合视图 1.4_掌握 Spacer 与 Divider 1.5_使用 Padding, Frame, Offset 进行微调 1.6_对齐与分布指南 1.7_安全区域与边缘忽略
第2章 控件与用户交互
2.1_按钮 Button 的使用与自定义 2.2_文本输入:TextField 与 TextEditor 2.3_开关 Toggle 与滑块 Slider 2.4_选择器 Picker 的不同样式 2.5_步进器 Stepper 与日期选择器 DatePicker 2.6_手势识别:Tap, LongPress, Drag
第3章 视图内部状态
3.1_使用 @State 管理简单值类型 3.2_使用 @Binding 创建双向绑定 3.3_理解视图的身份与生命周期
第4章 跨视图数据共享
4.1_使用 @StateObject 管理引用类型生命周期 4.2_使用 @ObservedObject 订阅外部对象 4.3_使用 @EnvironmentObject 进行全局数据传递 4.4_理解 @Published 属性包装器
第5章 环境与偏好设置
5.1_读取环境值 @Environment 5.2_自定义环境键 EnvironmentKey 5.3_使用 PreferenceKey 从子视图向上传递数据 5.4_使用 AnchorPreferences 进行几何对齐
第6章 构建动态列表
6.1_List 的基本用法与数据源 6.2_ForEach 的使用与 Identifiable 协议 6.3_自定义列表行视图 6.4_实现列表的编辑模式:移动与删除 6.5_分组列表 Section 与大纲视图 OutlineGroup
第7章 导航与视图呈现
7.1_NavigationStack 与 NavigationLink 7.2_导航路径与编程式导航 7.3_导航栏标题与按钮定制 7.4_模态呈现:Sheet 与 FullScreenCover 7.5_警报 Alert 与确认对话框 confirmationDialog
第8章 高级布局技术
8.1_滚动视图 ScrollView 与 ScrollViewReader 8.2_几何读取器 GeometryReader 8.3_自定义布局容器 Layout 协议 8.4_网格布局:LazyVGrid 与 LazyHGrid 8.5_视图坐标空间转换
第9章 自定义视图修饰符
9.1_封装通用样式 9.2_创建自定义 ViewModifier 协议实现 9.3_链式调用修饰符的原理
第10章 动画基础
10.1_隐式动画 .animation() 修饰符 10.2_显式动画 withAnimation 代码块 10.3_控制动画曲线与延迟 10.4_使用 .matchedGeometryEffect 实现视图匹配动画
第11章 高级动画与转场
11.1_视图转场 .transition() 修饰符 11.2_创建自定义 AnyTransition 11.3_Animatable 协议与矢量动画 11.4_TimelineView 与 Canvas 的应用
第12章 在 SwiftUI 中使用 UIKit/AppKit
12.1_使用 UIViewRepresentable 封装 UIKit 视图 12.2_使用 UIViewControllerRepresentable 封装视图控制器 12.3_处理协调器 Coordinator
第13章 在 UIKit/AppKit 中使用 SwiftUI
13.1_使用 UIHostingController 嵌入 SwiftUI 视图 13.2_在 UITableViewCell 中嵌入 SwiftUI 视图 13.3_管理 SwiftUI 视图的尺寸与更新
第14章 异步操作与数据获取
14.1_在 SwiftUI 中使用 async-await 14.2_任务修饰符 .task() 14.3_下拉刷新 .refreshable() 14.4_处理加载与错误状态
第15章 性能优化技巧
15.1_分析视图更新的原因 15.2_使用 EquatableView 减少不必要的刷新 15.3_懒加载视图 Lazy Stacks 15.4_Instruments SwiftUI 性能分析工具
第16章 可访问性与本地化
16.1_为视图添加可访问性标签与提示 16.2_支持动态类型 (Dynamic Type) 16.3_实现字符串本地化 16.4_处理从右到左 (RTL) 布局