前言 1
第1章 基础知识 9
1.0 介绍 9
1.1 为视图添加模糊效果 17
1.2 使用popover展示临时信息 20
1.3 使用UIImageView显示图片 24
1.4 使用UILabel显示静态文本 28
1.5 使用UIButton向UI中添加按钮 34
1.6 显示警告视图或者操作列表 38
1.7 使用UISwitch创建、使用、自定义开关 43
1.8 使用UIPickerView选取值 47
1.9 使用UIDatePicker选择日期或时间 51
1.10 使用UISlider实现区间滑块 55
1.11 使用UISegmentedControl实现分组的紧凑选项 59
1.12 使用UIActivityViewController显示分享选项 62
1.13 使用UIActivityViewController展示自定义分享选项 67
1.14 在导航栏上显示图片 72
1.15 使用UIBarButtonItem向导航栏添加按钮 73
1.16 使用UITextField接受用户文本输入 78
1.17 使用UITextView显示多行文本 85
1.18 使用UIScrollView创建可滚动的内容 89
1.19 使用WebKit载入网页 92
1.20 使用UIWebView载入网页 95
1.21 使用UIProgressView显示进度 98
1.22 创建配置文件 100
第2章 扩展 107
2.0 介绍 107
2.1 为照片应用添加新的照片编辑能力 110
2.2 向iOS提供自定义分享扩展 117
2.3 构建自定义键盘 126
2.4 通过操作扩展,在应用内部提供服务 132
2.5 向通知中心添加小工具 139
第3章 使用HealthKit管理健康数据 149
3.0 介绍 149
3.1 设置应用以使用HealthKit 149
3.2 获取和修改用户体重信息 152
3.3 访问和修改用户身高信息 158
3.4 获取用户特征 165
3.5 观察用户健康信息变化 169
3.6 读写用户燃烧的总卡路里值 174
3.7 单位转换 186
第4章 使用HomeKit管理家用电器 189
4.0 介绍 189
4.1 模拟HomeKit配件 191
4.2 在HomeKit中管理用户住宅 197
4.3 向用户的住宅添加房间 204
4.4 在用户住宅中指定区域 208
4.5 发现和管理支持HomeKit的配件 213
4.6 与HomeKit配件进行交互 218
4.7 对HomeKit配件进行分组 225
第5章 创建有动态交互性的用户界面 228
5.0 介绍 228
5.1 向UI组件添加重力效果 229
5.2 在UI组件之间检测并响应碰撞 231
5.3 使用推动(push)实现UI组件动画 237
5.4 对动力项目进行关联 241
5.5 向UI组件添加“跳动”效果 245
5.6 为动力特效设定特征 248
第6章 表格视图和集合视图 252
6.0 介绍 252
6.1 填充表格视图数据 253
6.2 为表格视图的单元格添加滑动删除功能 257
6.3 在表格视图中创建页眉和页脚 258
6.4 在表格视图中显示刷新控件 265
6.5 为集合视图提供基本内容 268
6.6 使用.xib 文件填充集合视图的自定义单元格 271
6.7 处理集合视图中的事件 278
6.8 为集合视图提供页眉和页脚 281
6.9 为集合视图添加自定义交互 285
第7章 并发和多任务 289
7.0 介绍 289
7.1 执行UI相关任务 292
7.2 执行非UI相关任务 294
7.3 在特定延时之后执行任务 301
7.4 对某个任务仅仅执行一次 303
7.5 将任务进行分组 305
7.6 使用操作(NSOperation)创建简单并发 307
7.7 在操作间创建依赖关系 312
7.8 触发周期性任务 314
7.9 在后台执行长时间运行的任务 317
7.10 为应用添加后台抓取功能 320
7.11 在后台中播放音频 328
7.12 在后台处理位置变化 331
7.13 在后台处理网络连接 333
第8章 安全 336
第9章 Core Location、iBeacon和地图 370
第10章 手势识别 403
第11章 网络与分享 420
第12章 多媒体 451
第13章 通讯录 474
第14章 文件与文件夹管理 500
第15章 摄像头和照片库 521
第16章 通知 556
第17章 Core Data 594
第18章 日期、日历和事件 628
第19章 图形和动画 657
第20章 Core Motion 708
第21章 Cloud 724
展开
“从使用iOS的新特性进行编码到处理复杂的需求,本书总是带给我所需要的资源和优秀、清晰、有实践性的示例。现在,我开始使用Swift,本书成为我的*佳参考,没有它我会迷失。”
——Joao Duarte iOS高级软件工程师