八个生动有趣的案例带你掌握实战技巧
功能介绍清晰详细,知其然知其所以然
操作步骤娓娓道来,小白也能轻松上手
实例教程轻松有趣,学习娱乐两不误
迭代教学步步为营,扎实掌握知识点
一起来学习轻松有趣的SwiftUI吧~
目录
第1章 我的第一个iOS应用程序 1
1.1 使用Xcode快速创建项目 1
1.1.1 为项目添加程序图标和相关图片素材 3
1.1.2 为项目添加预定义颜色 5
1.1.3 为项目添加图片素材 7
1.2 创建启动画面 9
1.3 创建卡片视图布局 10
1.3.1 创建CardView 10
1.3.2 创建线性渐变色背景 14
1.3.3 为CardView添加图像和文本 15
1.3.4 为CardView添加按钮 17
1.4 循环生成多张卡片视图 21
1.5 为卡片创建数据模型 22
1.5.1 创建卡片数据模型 23
1.5.2 为静态数据创建数组 24
1.5.3 在卡片中显示数据信息 24
1.6 在应用程序中播放声音 28
1.7 创建动画效果 29
1.7.1 为卡片人物创建淡入动画 29
1.7.2 为标题创建下滑入动画效果 31
1.7.3 为按钮创建上滑入动画效果 31
1.8 为应用程序添加触控反馈效果 33
1.9 呈现警告对话框 34
1.10 为应用程序创建iMessage贴图 36
第2章 这里是北京 40
2.1 使用Xcode创建项目 40
2.1.1 为项目添加程序图标和相关图片素材 41
2.1.2 为项目添加适配颜色集和图像集 42
2.2 创建支持浅色和深色模式的启动画面 46
2.2.1 创建Launch Screen故事板 46
2.2.2 设计Launch Screen用户界面 48
2.2.3 在项目中设置启动画面 51
2.3 创建Tab View导航 52
2.3.1 创建4个场景视图 53
2.3.2 创建Tab View 54
2.4 创建北京简介视图 55
2.4.1 创建简介视图 55
2.4.2 为简介视图添加动画效果 58
2.5 创建小吃视图页面 59
2.5.1 设计横幅视图布局 59
2.5.2 创建横幅滚动视图 62
2.5.3 获取HeaderView所需的静态数据 63
2.5.4 创建灵活的表格式布局 65
2.5.5 创建横幅滚动视图 71
2.5.6 创建特色小吃店卡片视图 75
2.5.7 创建小吃店详细页面视图 82
2.5.8 使用Sheet修饰器呈现新的视图 87
2.6 创建胡同视图页面 89
2.7 使用SwiftUI设计表单 95
第3章 蔬菜百科全书 100
3.1 使用Xcode快速创建项目 100
3.1.1 设置iOS设备的屏幕允许方向 101
3.1.2 为项目添加程序图标和蔬菜图片 102
3.1.3 为项目添加颜色集 104
3.1.4 在模拟器中查看效果 106
3.2 利用Page Tab View创建引导画面 106
3.2.1 整理项目文件的结构 107
3.2.2 创建可复用的蔬菜卡片视图 107
3.2.3 创建自定义外观按钮 111
3.2.4 为蔬菜卡片增加动画效果 113
3.2.5 创建蔬菜卡片分页视图 114
3.3 创建数据模型和获取数据 116
3.3.1 创建数据模型 116
3.3.2 创建蔬菜数据 117
3.3.3 在蔬菜卡片中显示蔬菜数据 117
3.3.4 在引导页面中显示蔬菜数据 119
3.4 使用AppStorage封装器存储数据 120
3.4.1 SwiftUI中应用程序的生存期 121
3.4.2 完成按钮的执行代码 124
3.5 通过循环创建列表视图 125
3.5.1 创建行视图 125
3.5.2 创建列表视图 128
3.5.3 设置导航视图的属性 130
3.6 创建蔬菜的详情视图 130
3.6.1 创建视图文件 130
3.6.2 添加导航链接 131
3.6.3 设计详情页面视图 132
3.6.4 创建独立的蔬菜图片视图 135
3.6.5 在详情页面中调用蔬菜图片视图 137
3.6.6 创建链接视图 139
3.6.7 创建蔬菜分类视图 141
3.6.8 Disclosure Group的使用 141
3.7 创建App的设置页面 144
3.7.1 创建SettingsView 145
3.7.2 为设置视图添加关闭功能 146
3.7.3 为列表视图添加开启设置页面功能 147
3.7.4 完善设置页面的第一部分功能 148
3.7.5 实现设置页面的第三部分功能 150
3.7.6 实现设置页面的第二部分功能 154
第4章 名胜古迹App 158
4.1 使用Xcode创建名胜古迹项目 158
4.1.1 添加图片和视频素材 159
4.1.2 添加JSON格式的数据文件 161
4.1.3 设置程序的启动画面 162
4.1.4 创建TabView 163
4.2 解析JSON格式文件并获取相应数据 165
4.2.1 横幅封面视图 165
4.2.2 JSON相关知识 166
4.2.3 解析JSON数据 168
4.2.4 使用JSON数据生成封面图片 170
4.3 利用Swift范式创建SwiftUI列表 172
4.3.1 设计浏览页面列表视图的行布局 172
4.3.2 创建数据模型 174
4.3.3 Swift的范式 174
4.3.4 实现动态数据行信息的设置 175
4.4 创建名胜古迹的详细视图 177
4.4.1 初步创建详细视图 178
4.4.2 设计横幅图片、标题和提要 180
4.4.3 创建可复用的Heading视图 181
4.4.4 创建画册视图 183
4.4.5 使用NavigationLink创建链接 185
4.4.6 创建相关信息视图 186
4.4.7 创建地图视图 188
4.4.8 创建链接组件 192
4.5 创建视频播放视图 194
4.5.1 创建数据模型和行视图 194
4.5.2 生成列表视图 197
4.5.3 触控反馈 200
4.5.4 创建视频播放页面 201
4.5.5 视频播放页面的附加设置 204
4.5.6 为视频浏览页面添加链接 206
4.6 创建带有标注的复杂地图 207
4.6.1 创建数据模型 207
4.6.2 创建复杂地图 207
4.6.3 自定义标注 210
4.6.4 为视图添加细节素材 213
4.7 创建运动动画 216
4.8 创建照片视图 222
4.8.1 创建基本的网格视图 222
4.8.2 实现照片视图的基本功能 225
4.8.3 实现照片视图的滑动条功能 226
4.8.4 对网格视图的改进 228
4.9 创建复杂的网格视图布局 229
4.9.1 工具栏的设置 230
4.9.2 利用Group实现模式切换 231
4.9.3 实现网格视图的基本功能 233
4.9.4 实现网格视图的列数动态变换效果 235
4.10 创建iMessage扩展功能 238
4.11 将应用程序适配到iPadOS和macOS平台 241
4.11.1 创建App的关于面板 241
4.11.2 自定义修饰器 242
4.11.3 将项目迁移到macOS平台 244
第5章 爱上写字 247
5.1 使用Xcode创建项目 247
5.1.1 为项目添加程序图标和相关图片素材 248
5.1.2 为项目添加启动画面 249
5.1.3 整理项目文件架构 250
5.1.4 创建FooterView 251
5.1.5 快速输入自定义代码块 253
5.2 创建自定义导航栏 254
5.2.1 创建导航栏视图 255
5.2.2 设计导航栏中的Logo视图 256
5.2.3 为主场景视图添加导航栏 257
5.3 创建图像滑动视图 260
5.3.1 创建数据模型 260
5.3.2 创建JSON解析方法 261
5.3.3 创建用于滑动的图像视图 261
5.3.4 将图像滑动视图添加到主场景视图 263
5.4 为文具分类创建网格布局视图 264
5.4.1 创建文具分类数据模型 264
5.4.2 创建文具分类子视图 265
5.4.3 创建文具分类网格视图 267
5.4.4 为网格视图创建Header和Footer视图 268
5.5 为商品创建网格布局视图 270
5.5.1 创建可复用的标题组件 270
5.5.2 创建商品的数据模型 272
5.5.3 创建商品子视图 272
5.5.4 创建商品网格视图 274
5.6 创建品牌网格布局视图 275
5.6.1 创建品牌的数据模型 275
5.6.2 创建品牌子视图 276
5.6.3 创建品牌网格视图 277
5.7 创建商品详细页面视图 278
5.7.1 创建产品详细页面视图 278
5.7.2 创建详细页面导航栏 279
5.7.3 创建Header视图 280
5.7.4 创建详细页面的上半部分视图 281
5.7.5 创建详细页面的商品描述视图 283
5.7.6 创建自定义形状 284
5.7.7 创建评星和笔尖规格视图 287
5.7.8 创建数量和“设为最爱”视图 290
5.7.9 创建添加到购物车视图 291
5.8 完成最后的设置 293
5.8.1 创建Shop类 293
5.8.2 在ContentView类中添加Shop实例 294
5.8.3 实现返回按钮的功能 295
5.8.4 完善详细页面视图功能 297
5.8.5 添加触控反馈特性 299
第6章 奇妙水果机 302
6.1 使用Xcode创建项目 302
6.1.1 为项目添加程序图标和相关图片素材 303
6.1.2 为项目添加启动画面 304
6.2 创建Header视图 305
6.2.1 创建场景页面代码架构 305
6.2.2 单独创建Logo视图 307
6.2.3 添加重置和相关信息按钮 308
6.2.4 创建记分牌视图 310
6.3 创建游戏主界面 314
6.3.1 设计水果机的槽位视图 314
6.3.2 搭建游戏主界面视图 316
6.4 添加Footer视图 318
6.4.1 创建Footer界面 318
6.4.2 重构Footer视图的代码 320
6.5 创建游戏信息视图页面 323
6.5.1 创建信息视图 323
6.5.2 实现关闭信息页面功能 327
6.6 编写游戏逻辑代码 329
6.6.1 实现随机生成槽位水果的逻辑 329
6.6.2 实现判断输赢的逻辑 331
6.6.3 实现玩家选择游戏分值的功能 333
6.6.4 创建游戏结束时的自定义窗口 335
6.7 利用User Defaults存储和获取数据 341
6.8 为游戏添加动画效果 342
6.9 为游戏添加声效和背景音乐 346
第7章 TODO应用程序 350
7.1 使用Xcode创建项目 350
7.1.1 创建Todo项目 350
7.1.2 创建添加待办事项视图页面 353
7.2 了解Core Data特性 357
7.2.1 Core Data简介 357
7.2.2 为项目创建实例 358
7.2.3 Core Date的工作方式 359
7.2.4 为页面添加managedObjectContext 361
7.2.5 改善AddTodoView的用户体验 364
7.2.6 显示待办事项数据信息 365
7.2.7 删除和更新数据记录 367
7.3 显示随机视图 369
7.3.1 创建EmptyListView页面 369
7.3.2 为视图添加微动画 373
7.3.3 显示随机内容 374
7.4 改进表单的外观 375
7.4.1 改进AddTodoView的外观 375
7.4.2 改进ContentView的外观 377
7.5 创建设置视图页面 381
7.5.1 创建设置视图页面 381
7.5.2 创建表单静态行视图 382
7.5.3 创建可链接的静态行视图 384
7.6 创建可切换应用程序图标功能 388
7.6.1 添加并设置可替换图标 388
7.6.2 从配置文件中获取可替换图标信息 391
7.6.3 生成应用程序图标选择器 393
7.7 为应用程序创建颜色主题 398
7.7.1 创建颜色主题相关文件和文件夹 398
7.7.2 在SettingsView页面中添加切换颜色主题功能 399
7.7.3 更新用户界面 402
7.7.4 完成设计上的最后改进 404
第8章 InYourHeart应用程序 406
8.1 使用Xcode创建项目 406
8.2 创建卡片视图 409
8.2.1 创建卡片视图的数据模型 409
8.2.2 创建卡片视图 410
8.3 创建Header和Footer视图 413
8.3.1 创建HeaderView页面 413
8.3.2 创建Footer视图页面 415
8.4 创建可复用组件 416
8.5 创建指南视图页面 419
8.6 利用Binding实现视图之间的数据交换 421
8.6.1 Binding封装属性 422
8.6.2 使用环境对象关闭视图 424
8.6.3 生成信息导览页面视图 426
8.6.4 实现InfoView的呈现和关闭 432
8.7 创建照片卡牌 434
8.7.1 创建照片卡牌 434
8.7.2 对照片卡牌的改进 436
8.7.3 实现左右滑动手势 437
8.7.4 显示喜爱或不喜爱的图标 442
8.8 移除和添加照片卡牌 444