
内容简介
本书从实战应用出发,系统地讲解SwiftUI开发的全过程,内容丰富且实用性强,旨在帮助读者快速上手SwiftUI开发。本书共14章,从SwiftUI的基础概念开始,逐渐深入分析视图、动画、自动布局机制、栏目、代码整理、参数存储、网络请求、架构设计、设备管理、数据存储等主题,为读者提供全面的理论知识和实战技巧。本书适合对SwiftUI感兴趣的读者阅读。无论你是初学者还是有一定经验的开发者,都能够通过本书全面了解SwiftUI的基础知识和实战技巧,并将其应用到实际项目中,开发出优秀的iOS应用。
作者简介
李智威,iOS 独立*、*产品经理、稀土掘金技术社区签约作者,拥有6年B端SaaS产品开发经验,从*开始负责过国内Top 3上市企业数智化项目的产品规划工作。独立开发并上架“不言笔记”“Linkcard 卡包”等应用,出版过《SwiftUI完全开发》等图书。曾获我爱黑“可颂”AI Hackathon大语言模型应用创新挑战赛优胜奖。
目录
第1章未来已来:开始使用Swift和SwiftUI11.1初识SwiftUI1
1.2Swift和SwiftUI的关系2
1.3学习SwiftUI之前的准备工作3
1.3.1Mac计算机3
1.3.2Xcode开发工具4
1.3.3iPhone真机5
1.4创建*个SwiftUI项目5
1.5Xcode常用功能介绍8
1.5.1代码编辑区域9
1.5.2实时预览窗口10
1.5.3项目预览操作栏12
1.6项目文件结构详解16
1.6.1项目主文件17
1.6.2项目入口文件20
1.6.3Assets库22
1.6.4PreviewContent文件夹23
第2章快速入门:创建*个SwiftUI项目24
2.1视图、视图修饰符、布局方式24
2.2Library27
2.2.1Views栏目27
2.2.2Modifiers栏目29
2.2.3CodeSnippet栏目30
2.2.4Image和Color栏目31
2.2.5SFSymbols栏目31
2.3实战案例:每日一句32
2.3.1导入并显示图片素材32
2.3.2使用Text视图显示文字35
2.3.3对多个视图进行布局36
2.3.4调整视图的样式37
2.3.5创建“推荐文字”数据集39
2.3.6实现参数绑定40
2.3.7实现随机推荐文字41
第3章初探动画:感受SwiftUI独特的魅力43
3.1深入浅出使用Button视图43
3.1.1创建一个Button视图43
3.1.2修改Button视图样式44
3.1.3组合多个Button视图46
3.1.4自定义按钮样式47
3.2引入条件判断语句49
3.2.1三元运算符49
3.2.2if-else语句50
3.2.3条件判断语句实践52
3.3神奇的SwiftUI动画54
3.3.1给视图添加动画效果54
3.3.2隐性动画和显性动画55
3.3.3转场动画57
第4章视图精析:探索SwiftUI自动布局机制60
4.1View和someView的区别60
4.2修饰符适用场景63
4.2.1Image视图常用修饰符63
4.2.2Text视图常用修饰符65
4.2.3Stack布局容器常用修饰符66
4.3创建可交互的按钮69
4.4SwiftUI界面布局规则70
4.4.1视图的尺寸大小71
4.4.2视图的位置72
第5章布局练习:开发一个“个人简介”界面74
5.1搭建“基本信息”栏目74
5.1.1个人头像75
5.1.2个人信息78
5.1.3个人介绍83
5.2搭建“个人成*”栏目84
5.2.1单个数据指标84
5.2.2多个数据指标85
5.2.3视图背景色88
5.3搭建“专栏列表”栏目89
5.3.1数据模型89
5.3.2单个文章专栏91
5.3.3多个文章专栏92
5.4项目预览94
第6章代码整理:让项目代码更加清晰96
6.1自定义someView96
6.1.1封面图片视图97
6.1.2Slogan文字视图97
6.1.3快捷登录入口视图98
6.1.4用户条款视图99
6.2自定义结构体102
6.2.1自定义LoginBtnView视图103
6.2.2使用LoginBtnView视图104
6.3自定义extension方法105
6.4项目文件整理107
6.4.1代码块管理107
6.4.2文件夹管理108
第7章项目实战:开发一款“Note笔记”应用111
7.1搭建Note数据模型111
7.2搭建“Note笔记”界面113
7.2.1笔记列表114
7.2.2界面标题117
7.2.3新增按钮118
7.3搭建“新增笔记”界面119
7.3.1文本框119
7.3.2按钮组121
7.4实现App的相关功能124
7.4.1打开弹窗124
7.4.2关闭弹窗126
7.4.3新增笔记130
7.4.4删除笔记132
第8章项目实战:开发一款“BMI计算器”应用134
8.1Form视图介绍134
8.2搭建“BMI计算页”界面137
8.2.1信息录入137
8.2.2参考标准139
8.2.3计算按钮142
8.2.4界面标题143
8.3搭建“BMI结果页”界面145
8.3.1计算结果145
8.3.2“重新计算”按钮148
8.4实现App的相关功能149
8.4.1界面跳转149
8.4.2返回跳转151
8.4.3BMI计算152
8.4.4BMI结果153
第9章参数存储:初识数据持久化机制156
9.1搭建“常规设置”栏目156
9.1.1消息通知157
9.1.2深色模式158
9.2搭建“个性化”栏目160
9.2.1主题颜色161
9.2.2系统语言162
9.2.3字体大小164
9.3搭建“关于我们”栏目165
9.3.1意见反馈165
9.3.2去AppleStore评分167
9.3.3关于应用169
9.4实现参数持久化方法170
9.4.1UserDefaults171
9.4.2@AppStorage属性包装器172
第10章网络请求:连接这个多彩的世界174
10.1从互联网上请求一张图片174
10.1.1使用AsyncImage视图175
10.1.2添加默认视图175
10.1.3设置不同状态下的视图176
10.1.4实现刷新功能178
10.2URLSession网络请求框架180
10.2.1基础视图搭建180
10.2.2实现网络请求方法181
10.3开发一个“壁纸推荐”界面183
10.3.1数据模型184
10.3.2单张壁纸185
10.3.3壁纸列表187
10.3.4界面标题188
10.3.5网络请求189
第11章架构设计:深入浅出MVVM模式192
11.1开发一个“历史上的*”界面193
11.1.1数据模型193
11.1.2视图194
11.1.3视图模型196
11.2搭建底部导航栏200
11.3开发一个“日历”界面201
11.3.1搭建当前年月栏目202
11.3.2实现更新日期方法202
11.3.3实现格式化日期拓展方法204
11.3.4搭建工作周栏目205
11.3.5搭建日历时间栏目206
11.3.6实现获得日期数组方法207
11.3.7实现格式化时间拓展方法209
11.3.8实现起始日期匹配方法210
11.3.9实现选中当前日期方法212
第12章设备管理:掌握CoreServices的奥秘215
12.1开发一个“身份认证”界面215
12.1.1卡片样式216
12.1.2视图界面217
12.2实现“人脸识别”栏目的功能218
12.2.1创建FaceIDAuthManager数据模型218
12.2.2实现FaceID认证方法218
12.2.3配置FaceID认证权限219
12.2.4调用FaceID认证功能220
12.3实现上传证件功能221
12.3.1实现拍照和图片上传方法221
12.3.2配置相册和相机权限223
12.3.3实现选择上传方式弹窗223
12.3.4调用图片上传方法225
12.3.5实现显示上传图片逻辑227
第13章数据存储:使用FileManager230
13.1搭建底部导航栏231
13.2开发一个“推荐”界面232
13.2.1sentences文字数组232
13.2.2文字卡片233
13.2.3滑动卡片234
13.2.4“收藏”按钮236
13.3开发一个“笔记”界面237
13.3.1数据模型237
13.3.2视图模型237
13.3.3视图238
13.4实现收藏文字功能241
13.4.1实现获得文字方法241
13.4.2实现添加笔记方法243
13.4.3实现获得当前日期方法243
13.4.4调用添加笔记方法244
13.4.5共享ViewModel实例245
13.5实现数据持久化功能246
13.5.1实现存储笔记方法246
13.5.2实现读取笔记方法248
13.5.3实现删除笔记方法249
第14章项目实战:开发一款“目标人生”应用252
14.1开发一个“启动页”界面252
14.1.1使用LaunchScreen文件252
14.1.2设置LaunchScreen来源255
14.1.3预览“启动页”界面255
14.2开发一个“引导页”界面256
14.2.1功能卡片256
14.2.2轮播卡片257
14.2.3“开始使用”按钮258
14.3开发一个“创建目标”界面259
14.3.1目标名称259
14.3.2达成日期260
14.3.3日期格式化261
14.3.4操作按钮263
14.4实现打开/关闭弹窗功能264
14.4.1打开弹窗264
14.4.2通用设置265
14.4.3关闭弹窗267
14.5开发一个“*页”界面267
14.5.1数据模型268
14.5.2单例模式271
14.5.3视图模型272
14.5.4视图273
14.6实现新增目标功能278
14.6.1实现新增目标方法278
14.6.2调用新增目标方法279
······
最后修改:2025 年 10 月 30 日
© 允许规范转载
