内容简介
第1章 欢迎来到iOS和Swift世界
1.1关于本书
1.2必备条件
1.2.1选择开发者计划
1.2.2必备知识
1.2.3 iOS应用程序的特点
1.3本书内容
1.3.1新版增加内容
1.3.2 Swift和Xcode版本
1.3.3准备好了吗
第2章 创建第一个App
2.1创建“Hello, World!”项目
2.1.1 Xcode项目窗口
2.1.2深入了解项目
2.2 Interface Builder简介
2.2.1文件格式
2.2.2 storyboard
2.2.3实用工具
2.2.4在视图中添加标签
2.2.5属性修改
2.3画龙点睛——美化iPhone应用程序
2.4启动界面
2.5在设备上运行应用
2.6小结
第3章 基本的用户交互
3.1 MVC模式
3.2创建ButtonFun应用
3.3视图控制器
3.3.1输出接口和操作方法
3.3.2精简视图控制器代码
3.3.3设计用户界面
3.3.4测试ButtonFun应用
3.3.5布局预览
3.3.6改变文本样式
3.4应用程序委托
3.5小结
第4章 更丰富的用户界面
4.1动态控件、静态控件和被动控件
4.2创建Control Fun应用程序
4.3实现图像视图和文本框
4.3.1添加图像视图
4.3.2调整图像视图的大小
4.3.3设置视图属性
4.3.4添加文本框
4.3.5添加约束
4.3.6创建并关联输出接口
4.4关闭键盘
4.4.1按下Done按钮关闭键盘
4.4.2触摸背景关闭键盘
4.4.3添加滑动条和标签
4.4.4创建并关联操作方法和输出接口
4.4.5实现操作方法
4.5实现开关、按钮和分段控件
4.5.1添加两个带标签的开关
4.5.2为开关创建并关联输出接口和操作方法
4.5.3实现开关的操作方法
4.5.4控件状态
4.5.5为按钮创建并关联输出接口和操作方法
4.6实现分段控件的操作方法
4.7实现操作表单和警告视图
4.7.1显示操作表单
4.7.2显示警告视图
4.8小结
第5章 自动旋转
5.1自动旋转机制
5.1.1点、像素和Retina显示屏
5.1.2控制旋转
5.2创建Orientations项目
5.2.1应用级支持的方向
5.2.2独立控制器的旋转支持
5.3创建布局项目
5.3.1覆盖默认的约束
5.3.2与屏幕等宽的标签
5.4创建自适应布局
5.4.1创建Restructure应用程序
5.4.2设置iPhone的横向(wC hC)配置布局
5.4.3设置iPad(以及iPhone Plus横向)的wR hR配置
5.5小结
第6章 创建多视图应用
6.1多视图应用的常见类型
6.2多视图应用的体系结构
6.2.1根控制器
6.2.2内容视图剖析
6.3构建View Switcher项目
6.3.1重命名视图控制器
6.3.2添加内容视图控制器
6.3.3修改SwitchingViewController.swift
6.3.4创建拥有工具栏的视图
6.3.5连接工具栏按钮和视图控制器
6.3.6编写根视图控制器
6.3.7实现内容视图
6.3.8 过渡动画效果
6.4小结
第7章 分页栏与选取器
7.1 Pickers应用程序
7.2委托和数据源
7.3创建Pickers应用程序
7.3.1创建视图控制器
7.3.2创建分页栏控制器
7.3.3首次模拟器测试
7.3.4实现日期选取器
7.4实现单滚轮选取器
7.4.1构建视图
7.4.2将控制器实现为数据源和委托
7.5实现多滚轮选取器
7.5.1构建视图
7.5.2实现控制器
7.5.3滚轮内容根据环境变化
7.6使用自定义选取器创建一个简单游戏
7.6.1编写控制器头文件
7.6.2构建视图
7.6.3实现控制器
7.6.4最后的细节
7.7小结
第8章 表视图简介
8.1表视图基础
8.1.1表视图和表视图单元
8.1.2分组表和连续表
8.2实现一个简单表
8.2.1设计视图
8.2.2实现控制器
8.2.3添加一个图像
8.2.4表视图单元样式
8.2.5设置缩进级别
8.2.6处理行的选择
8.2.7更改字体大小和行高
8.3定制表视图单元
8.4实现自定义表视图应用程序
8.4.1创建UITableViewCell子类
8.4.2从XIB文件加载UITableViewCell
8.5分组分区和索引分区
8.5.1构建视图
8.5.2导入数据
8.5.3实现控制器
8.5.4添加索引
8.5.5添加搜索栏
8.5.6视图调试器
8.6小结
第9章 表视图中的导航控制器
9.1导航控制器基础
9.1.1栈的概念
9.1.2控制器栈
9.2简单的字体浏览器:Fonts
9.2.1 Fonts应用的子控制器
9.2.2 Fonts应用的基础框架
9.2.3创建根视图控制器
9.2.4初始化storyboard
9.2.5第一个子控制器:字体列表视图
9.2.6设计字体列表的storyboard
9.3创建字体尺寸视图控制器
9.3.1设计字体尺寸视图控制器的storyboard
9.3.2对字体列表视图控制器的转场进行设置
9.3.3创建字体信息视图控制器
9.3.4设计字体信息视图控制器的storyboard
9.3.5调整字体列表视图控制器的转场
9.3.6我的收藏字体
9.3.7补充功能
9.3.8实现轻扫删除
9.3.9实现拖动排序
9.4小结
第10章 集合视图
10.1创建DialogViewer项目
10.1.1配置自定义单元
10.1.2配置视图控制器
10.1.3提供内容单元
10.1.4实现流动布局
10.1.5实现标题视图
10.2小结
第11章iPad应用中的分割视图和浮动窗口
11.1 创建基于UISplitViewController的分割视图应用程序
11.1.1在storyboard中定义结构
11.1.2使用代码定义功能
11.1.3 Master-Detail模板应用程序的工作原理
11.1.4添加总统信息
11.1.5创建浮动窗口
11.2小结
第12章 应用设置和用户默认设置
12.1设置捆绑包入门
12.2 Bridge Control应用程序
12.2.1创建项目
12.2.2使用设置捆绑包
12.2.3读取应用中的设置
12.2.4在应用中修改默认设置
12.2.5注册默认值
12.2.6保证设置有效
12.2.7切换到Settings应用程序
12.3小结
第13章 数据持久化基础知识
13.1应用程序的沙盒
13.1.1获取Documents和Library目录
13.1.2获取临时目录
13.2文件保存方案
13.2.1单文件持久化
13.2.2多文件持久化
13.3属性列表
13.3.1属性列表序列化
13.3.2创建Persistence应用程序的第一个版本
13.4对模型对象进行归档
13.4.1遵循NSCoding协议
13.4.2实现NSCopying协议
13.4.3对数据对象进行归档和取消归档
13.4.4归档应用
13.4.5使用iOS嵌入的SQLite3
13.4.6创建或打开数据库
13.4.7使用绑定变量
13.5创建SQLite3应用程序
13.6使用Core Data
13.6.1实体和托管对象
13.6.2 Core Data应用
13.6.3修改AppDelegate.swift文件
13.7小结
第14章 文档和iCloud
14.1使用UIDocument管理文档存储
14.1.1构建TinyPix
14.1.2创建TinyPixDocument类
14.1.3主控制器代码
14.1.4设置storyboard
14.1.5创建TinyPix视图的类
14.1.6设计storyboard的详情视图
14.2添加iCloud支持
14.2.1创建配置描述文件
14.2.2如何查询
14.2.3保存位置
14.2.4将偏好设置保存到iCloud
14.3小结
第15章用Grand Central Dispatch进行多线程编程
15.1创建S1owWorker应用程序
15.1.1线程基础知识
15.1.2工作单元
15.1.3 GCD:底层队列
15.1.4改进S1owWorker
15.2后台处理
15.3应用生命周期
15.4状态更改通知
15.4.1创建State Lab项目
15.4.2探索执行状态
15.4.3利用执行状态更改
15.4.4处理不活跃状态
15.4.5处理后台状态
15.4.6进入后台时保存状态
15.5小结
第16章 图形与绘制
16.1 Quartz 2D基础概念
16.2 Quartz 2D绘图方法
16.2.1 Quartz 2D图形环境
16.2.2坐标系统
16.2.3指定颜色
16.2.4在环境中绘制图像
16.2.5绘制形状:多边形、直线和曲线
16.2.6 Quartz 2D样例:图案、渐变色、虚线图
16.3 QuartzFun应用程序
16.3.1构建QuartzFun应用程序
16.3.2添加Quartz 2D绘制代码
16.3.3优化QuartzFun应用程序
16.4小结
第17章SpriteKit制作简单游戏
17.1创建TextShooter应用
17.1.1自定义初始场景
17.1.2玩家移动
17.1.3创建敌人
17.1.4在场景中加入敌人
17.1.5开始射击
17.1.6物理攻击敌人
17.1.7完成关卡
17.1.8自定义碰撞
17.1.9粒子系统
17.1.10向场景中加入粒子
17.1.11游戏结束
17.1.12创建开始场景
17.1.13添加音效
17.1.14添加力场:为游戏提高一些难度
17.2小结
第18章 轻点、触摸和手势
18.1多点触控术语
18.2响应者链
18.2.1响应事件
18.2.2转发事件:保持响应者链的活动状态
18.3多点触控体系结构
18.4 4个手势通知方法
18.5 TouchExplorer应用
18.5.1创建Swipes应用程序
18.5.2使用触摸事件检测轻扫
18.5.3自动手势识别
18.5.4实现多指轻扫
18.5.5检测多次轻点
18.5.6检测捏合和旋转
18.6小结
第19章 确定位置
19.1位置管理器
19.1.1设置期望精度
19.1.2设置距离筛选器
19.1.3获取使用定位服务的权限
19.1.4启动位置管理器
19.1.5合理使用位置管理器
19.2位置管理器委托
19.2.1获取位置更新
19.2.2使用CLLocation获取纬度和经度
19.2.3错误通知
19.3创建WhereAmI应用程序
19.3.1更新位置管理器
19.3.2将移动路线展现在地图上
19.3.3更改定位服务权限
19.4小结
第20章 设备方向与动作
20.1加速计物理特性
20.2陀螺仪旋转特性
20.3 Core Motion和动作管理器
20.3.1创建MotionMonitor应用程序
20.3.2主动动作访问
20.3.3陀螺仪和方位结果
20.3.4加速计结果
20.4检测摇动
20.4.1内嵌的摇动检测
20.4.2摇动与破碎
20.5将加速计用作方向控制器
20.5.1 Ball应用程序
20.5.2实现BallView类
20.5.3计算弹珠运动
20.6小结
第21章 摄像头和照片图库
21.1图像选取器和UIImagePickerController
21.1.1图像选取器控制器
21.1.2实现图像选取器控制器委托
21.2设计Camera界面
21.2.1隐私选项
21.2.2实现摄像头视图控制器
21.3小结
第22章 本地化翻译应用
22.1本地化体系结构
22.2字符串文件
22.2.1字符串文件的格式
22.2.2本地化的字符串函数
22.3创建LocalizeMe应用
22.3.1本地化项目
22.3.2本地化storyboard
22.3.3创建并本地化字符串文件
22.3.4应用显示名称的本地化
22.3.5添加其他本地化
22.4小结
22.5全书总结
附录A Swift简介