内容简介
第1章 第一个简单的iOS应用
1.1 创建Xcode项目
1.2 模型-视图-控制器
1.3 设计Quiz
1.4 Interface Builder
1.5 创建界面
创建视图对象
设置视图对象
在模拟器上运行
Auto Layout简介
创建关联
1.6 创建模型对象
实现动作方法
加载第一个问题
1.7 编译完成的应用
1.8 应用图标
1.9 启动画面
第2章 Swift语言
2.1 Swift的数据类型
2.2 使用标准类型
推断类型
指定类型
字面量和角标
构造器
属性
实例方法
2.3 可选
字典角标
2.4 循环和字符串补全
2.5 枚举和Switch
枚举和初始值
2.6 查阅Apple的Swift文档
第3章 视图与视图层次结构
3.1 视图基础
3.2 视图层次结构
3.3 创建新项目
3.4 视图及Frame
自定义标签
3.5 自动布局系统
对齐矩形与布局属性
约束
通过Interface Builder添加约束
内部内容大小
视图位置错误
添加更多约束
3.6 初级练习:更多自动布局练习
第4章 文本输入与委托
4.1 文本编辑
键盘属性
响应UITextField文字改变事件
隐藏键盘
4.2 实现温度转换
数字格式化
4.3 委托
实现协议
使用委托
更多协议
4.3 初级练习:禁止输入字母
第5章 视图控制器
5.1 视图控制器的视图
5.2 设置初始视图控制器
5.3 UITabBarController
UITabBarItem
5.4 加载以及展示视图
访问子视图
5.5 与视图控制器及其视图交互
5.6 中级练习:夜间模式
5.7 深入学习:高清显示
第6章 用代码实现视图
6.1 使用代码创建视图
6.2 代码实现约束
锚点
激活约束
LayoutGuides
边距
约束的细节
6.3 代码实现事件
6.4 初级练习:再添加一个Tab
6.5 中级练习:显示用户位置
6.6 高级练习:显示地图大头针
6.7 深入学习:NSAutoresizingMaskLayoutConstraint
第7章 本地化
7.1 国际化
格式化
基础国际化
准备本地化
7.2 本地化
NSLocalizedString以及字符串表
7.3 初级练习:增加另外一种语言的本地化
7.4 深入学习:Bundle在国际化中扮演的角色
7.5 深入学习:导入和导出XLIFF文件
第8章 控制动画
8.1 基础动画
闭包
8.2 另一个标签
8.3 动画完成
8.4 对约束作动画
8.5 时间方法
8.6 初级练习:Spring动画
8.7 中级练习:Layout Guides
第9章 调试
9.1 Buggy项目
9.2 调试基础
解读控制台信息
修复第一个问题
原始调试
9.3 Xcode的调试器:LLDB
设置断点
单步调试代码
LLDB控制台
第10章 UITableView与UITableViewController
10.1 编写Homepwner应用
10.2 UITableViewController
创建UITableViewController子类
10.3 创建Item类
自定义构造方法
10.4 UITableView数据源
让控制器访问ItemStore
实现数据源方法
10.5 UITableViewCells
创建并获取UITableViewCell
重用UITableViewCell
10.6 内容缩进
10.7 初级练习:多个分组
10.8 中级练习:固定的行
10.9 高级练习:自定义UITableView
第11章 编辑UITableView
11.1 编辑模式
11.2 添加行
11.3 删除行
11.4 移动行
11.5 显示弹窗
11.6 设计模式
11.7 初级练习:修改删除按钮的标题
11.8 中级练习:禁止调整顺序
11.9 高级练习:真正地禁止调整顺序
第12章 创建UITableViewCell子类
12.1 创建ItemCell
12.2 添加并关联ItemCell的属性
12.3 使用ItemCell
12.4 动态计算Cell高度
12.5 动态类型
响应用户的修改
12.6 初级练习:UITableViewCell的颜色
第13章 UIStackView
13.1 使用UIStackView
隐藏的约束
内容变多优先级
内容变少优先级
UIStackView的分配
嵌套的UIStackView
UIStackView间距
13.2 Segues
13.3 绑定内容
13.4 传递数据
13.5 初级练习:更多的UIStackView
第14章 UINavigationController
14.1 UINavigationController
14.2 使用UINavigationController导航
14.3 视图的出现和消失
14.4 隐藏键盘
事件处理基础
点击回车键来收起键盘
点击任意位置隐藏
14.5 UINavigationBar
在UINavigationBar上添加按钮
14.6 初级练习:显示数字键盘
14.7 中级练习:自定义UITextField
14.8 高级练习:添加更多UIViewController
第15章 相机
15.1 通过UIImageView对象显示图片
添加相机按钮
15.2 通过UIImagePickerController拍摄照片
设置UIImagePickerController对象的源
设置UIImagePickerController对象的委托
以模态的形式显示UIImagePickerController对象
权限
保存图片
15.3 创建ImageStore
15.4 让UIViewController可以访问ImageStore
15.5 创建并使用键
15.6 使用ImageStore
15.7 初级练习:编辑图片
15.8 中级练习:删除图片
15.9 高级练习:Camera Overlay
15.10 深入学习:导航实现文件
//MARK:
第16章 保存、读取与应用状态
16.1 固化
16.2 应用沙盒
创建文件URL
16.3 NSKeyedArchiver与NSKeyedUnarchiver
加载文件
16.4 应用状态与状态切换
16.5 通过NSData将数据写入文件
16.6 错误处理
16.7 初级练习:PNG
16.8 深入学习:应用状态切换
16.9 深入学习:文件系统读/写
16.10 深入学习:应用程序包
第17章 Size Classes
17.1 为特定的Size Classes定制界面
17.2 初级练习:垂直排列UITextField和UILabel
第18章 触摸事件和UIResponder
18.1 触摸事件
18.2 创建TouchTracker应用
18.3 创建Line结构体
结构体
值类型和指针类型对比
18.4 创建DrawView
18.5 使用DrawView画图
18.6 处理触摸事件并绘制线条
处理多点触摸
18.7 @IBInspectable
18.8 中级练习:颜色
18.9 高级练习:圆圈
18.10 深入学习:响应对象链
18.11 深入学习:UIControl
第19章 UIGestureRecognizer与UIMenuController
19.1 UIGestureRecognizer子类
19.2 使用UITapGestureRecognizer检测点击
19.3 多个UIGestureRecognizer
19.4 UIMenuController
19.5 更多UIGestureRecognizer
UIPanGestureRecognizer与同时识别
19.6 深入学习UIGestureRecognizer
19.7 中级练习:神奇的线条
19.8 高级练习:速度和大小
19.9 终极练习:颜色
19.10 深入学习:UIMenuController与UIResponderStandardEdit?ctions
第20章 网络服务
20.1 开始Photorama应用
20.2 创建URL
URL和请求格式
URLComponents
20.3 发送请求
URLSession
20.4 创建Photo模型
20.5 JSON数据
JSONSerialization
枚举和相关值
解析JSON数据
20.6 下载并显示图片数据
20.7 主线程
20.8 初级练习:打印返回信息
20.9 中级练习:从Flickr获取最新照片
20.10 深入学习:HTTP
第21章 UICollectionView
21.1 显示网格
21.2 UICollectionView数据源
21.3 自定义布局
21.4 创建自定义的UICollectionViewCell
21.5 下载照片数据
扩展
照片缓存
21.6 查看照片
21.7 中级练习:改变Item的尺寸
21.8 高级练习:自定义布局
第22章 Core Data
22.1 对象图
22.2 实体
模型实体
可变属性
NSManagedObject和它的子类
22.3 NSPersistentContainer
22.4 更新数据
插入数据
保存修改
22.5 更新数据源
NSFetchRequest和NSPredicate
22.6 初级练习:照片查看次数
22.7 深入学习:Core Data Stack
NSManagedObjectModel
NSPersistentStoreCoordinator
NSManagedObjectContext
第23章 Core Data关系
23.1 关系
23.2 在界面中添加标签
23.3 后台任务
23.4 中级练习:收藏
第24章 辅助功能
24.1 旁白
测试旁白
在Photorama中使用辅助功能
第25章 后记
25.1 接下来做什么
25.2 关注我们
索引