封面
版权信息
前言
第一篇 必备技术篇
第1章 iOS开发入门
1.1 iOS系统介绍
1.1.1 iOS发展史
1.1.2 全新的版本——iOS 8
1.2 iPhone和iPad
1.2.1 令人称奇的iPhone
1.2.2 改变世界的iPad
1.3 iOS开发之旅
1.4 工欲善其事,必先利其器——搭建开发环境
1.4.1 Xcode 6介绍
1.4.2 iOS SDK介绍
1.4.3 下载并安装Xcode 6
1.5 使用Xcode开发环境
1.5.1 使用Xcode创建程序的基本步骤
1.5.2 Xcode的基本功能
1.6 启动iOS 8模拟器
1.7 iOS的常用开发框架
1.7.1 Foundation框架简介
1.7.2 Cocoa框架简介
1.8 常用的第三方工具
1.8.1 iPhone Simulator
1.8.2 Interface Builder
第2章 Objective-C语言基础
2.1 最耀眼的新星
2.1.1 看一份统计数据
2.1.2 究竟何为Objective-C
2.1.3 为什么选择Objective-C
2.2 Objective-C的优点及缺点
2.3 一个简单的例子
2.3.1 使用Xcode编辑代码
2.3.2 基本元素介绍
2.4 数据类型和常量
2.4.1 int类型
2.4.2 float类型
2.4.3 double类型
2.4.4 char类型
2.4.5 字符常量
2.4.6 id类型
2.4.7 限定词
2.4.8 总结基本数据类型
2.5 字符串
2.6 算数表达式
2.6.1 运算符的优先级
2.6.2 整数运算和一元负号运算符
2.6.3 模运算符
2.6.4 整型值和浮点值的相互转换
2.6.5 类型转换运算符
2.7 表达式
2.7.1 常量表达式
2.7.2 条件运算符
2.7.3 sizeof运算符
2.7.4 关系运算符
2.7.5 强制类型转换运算符
2.8 位运算符
2.8.1 按位与运算符
2.8.2 按位或运算符
2.8.3 按位异或运算符
2.8.4 一次求反运算符
2.8.5 向左移位运算符
2.8.6 向右移位运算符
2.8.7 总结Objective-C的运算符
第3章 Swift语言基础
3.1 Swift概述
3.1.1 Swift的创造者
3.1.2 Swift的优势
3.2 数据类型和常量
3.2.1 int类型
3.2.2 float类型
3.2.3 double类型
3.2.4 char类型
3.2.5 字符常量
3.3 变量和常量
3.3.1 常量详解
3.3.2 变量详解
3.4 字符串和字符
3.4.1 字符串字面量
3.4.2 初始化空字符串
3.4.3 字符串可变性
3.4.4 值类型字符串
3.4.5 计算字符数量
3.4.6 连接字符串和字符
3.4.7 字符串插值
3.4.8 比较字符串
3.4.9 Unicode
3.5 流程控制
3.5.1 for循环(1)
3.5.2 for循环(2)
3.5.3 while循环
3.6 条件语句
3.6.1 if语句
3.6.2 switch语句
3.7 函数
3.7.1 函数的声明与调用
3.7.2 函数的参数和返回值
3.7.3 函数参数名
3.8 实战演练——使用Xcode创建Swift程序
第4章 Cocoa Touch框架
4.1 Cocoa Touch基础
4.1.1 Cocoa Touch概述
4.1.2 Cocoa Touch中的框架
4.1.3 Cocoa Touch的优势
4.2 iPhone的技术层
4.2.1 Cocoa Touch 层
4.2.2 多媒体层
4.2.3 核心服务层
4.2.4 核心OS层
4.3 Cocoa Touch中的框架
4.3.1 Core Animation(图形处理)框架
4.3.2 Core Audio(音频处理)框架
4.3.3 Core Data(数据处理)框架
4.4 iOS程序的生命周期
4.4.1 从一段代码看iOS程序的生命周期
4.4.2 iOS程序生命周期的原理
4.4.3 UIViewController的生命周期
4.5 Cocoa中的类
4.5.1 核心类
4.5.2 数据类型类
4.5.3 UI界面类
4.6 国际化
4.7 使用Xcode学习iOS框架
4.7.1 使用Xcode文档
4.7.2 快速帮助
第5章 Xcode InterfaceBuilder界面开发
5.1 Interface Builder基础
5.1.1 Interface Builder的作用
5.1.2 Interface Builder的新特色
5.2 Interface Builder采用的方法
5.3 Interface Builder的故事板
5.3.1 推出的背景
5.3.2 故事板的文档大纲
5.3.3 文档大纲的区域对象
5.4 创建一个界面
5.4.1 对象库
5.4.2 将对象加入到视图中
5.4.3 使用IB布局工具
5.5 定制界面外观
5.5.1 使用属性检查器
5.5.2 设置辅助功能属性
5.5.3 测试界面
5.6 实战演练——将界面连接到代码
5.6.1 打开项目
5.6.2 输出口和操作
5.6.3 创建到输出口的连接
5.6.4 创建到操作的连接
5.7 实战演练——在界面中实现按钮的交互(基于Swift实现)
第6章 使用Xcode编写MVC程序
6.1 MVC模式基础
6.1.1 诞生背景
6.1.2 分析结构
6.1.3 MVC的特点
6.1.4 使用MVC实现程序设计的结构化
6.2 Xcode中的MVC
6.2.1 原理
6.2.2 模板就是给予MVC的
6.3 在Xcode中实现MVC
6.3.1 视图
6.3.2 视图控制器
6.4 数据模型
6.5 实战演练——使用模板Single View Application
6.5.1 创建项目
6.5.2 规划变量和连接
6.5.3 设计界面
6.5.4 创建并连接输出口和操作
6.5.5 实现应用程序逻辑
6.5.6 生成应用程序
第二篇 核心技术篇
第7章 文本框和文本视图
7.1 文本框(UITextField)
7.1.1 文本框基础
7.1.2 实战演练——在屏幕中显示一个文本输入框
7.1.3 实战演练——设置文本输入框的边框线样式
7.1.4 实战演练——设置文本输入框的字体和颜色
7.1.5 实战演练——在文本输入框中设置一个清空按钮
7.1.6 实战演练——为文本输入框设置背景图片
7.1.7 实战演练——使用UITextField控件(基于Swift实现)
7.2 文本视图(UITextView)
7.2.1 文本视图基础
7.2.2 实战演练——在屏幕中换行显示文本
7.2.3 实战演练——在屏幕中显示可编辑的文本
7.2.4 实战演练——设置屏幕中文本的对齐方式
7.2.5 实战演练——使用UITextView控件(基于Swift实现)
第8章 按钮和标签
8.1 标签(UILabel)
8.1.1 标签(UILabel)的属性
8.1.2 实战演练——使用标签(UILabel)显示一段文本
8.1.3 实战演练——在屏幕中显示指定字体和指定大小的文本
8.1.4 实战演练——设置屏幕中文本的对齐方式
8.2 按钮(UIButton)
8.2.1 按钮基础
8.2.2 实战演练——按下按钮后触发一个事件
8.2.3 实战演练——在屏幕中显示不同的按钮
8.3 实战演练——联合使用文本框、文本视图和按钮
8.3.1 创建项目
8.3.2 设计界面
8.3.3 创建并连接输出口和操作
8.3.4 实现按钮模板
8.3.5 隐藏键盘
8.3.6 实现应用程序逻辑
8.3.7 总结执行
8.4 使用UILabel控件和UIButton控件(基于Swift实现)
8.5 实战演练——开发一个方块游戏(基于Swift实现)
第9章 滑块、步进和图像
9.1 滑块控件(UISlider)
9.1.1 使用Slider 控件的基本方法
9.1.2 实战演练——滑动滑块时显示对应的值
9.1.3 实战演练——滑动滑块控制文字的大小
9.1.4 实战演练——实现各种各样的滑块
9.1.5 实战演练——使用UISlider控件(基于Swift实现)
9.2 步进控件(UIStepper)
9.3 图像视图控件(UIImageView)
9.3.1 UIImageView的常用操作
9.3.2 实战演练——在屏幕中显示图像
9.3.3 实战演练——在屏幕中绘制一幅图像
9.3.4 实战演练——在屏幕中绘图时设置透明度
9.3.5 实战演练——使用UIImageView控件(基于Swift实现)
第10章 开关控件和分段控件
10.1 开关控件(UISwitch)
10.1.1 开关控件基础
10.1.2 实战演练——改变UISwitch的文本和颜色
10.1.3 实战演练——显示具有开关状态的开关
10.1.4 实战演练——联合使用UISlider与UISwitch控件
10.1.5 实战演练——使用UISwitch控件(基于Swift实现)
10.2 分段控件
10.2.1 分段控件的属性和方法
10.2.2 实战演练——使用 UISegmentedControl控件
10.2.3 实战演练——选择一个分段卡后可以改变屏幕的背景颜色
10.2.4 实战演练——设置分段卡的显示样式
10.2.5 实战演练——设置不显示分段卡的选择状态
10.2.6 实战演练——改变分段卡的显示颜色
10.2.7 实战演练——选择某个选项时在此分段卡中显示一幅图片
10.2.8 使用UISegmentedControl控件(基于Swift实现)
第11章 Web视图控件、可滚动视图控件和翻页控件
11.1 Web视图(UIWebView)
11.1.1 Web视图基础
11.1.2 实战演练——在屏幕中显示指定的网页
11.1.3 实战演练——控制屏幕中的网页
11.1.4 实战演练——在网页中加载显示PDF、Word和JPEG图片
11.1.5 实战演练——在网页中加载HTML代码
11.1.6 实战演练——在网页中实现触摸处理
11.1.7 实战演练——使用UIWebView控件(基于Swift实现)
11.2 可滚动的视图(UIScrollView)
11.2.1 UIScrollView的基本用法
11.2.2 实战演练——使用可滚动视图控件
11.2.3 实战演练——使用UIScrollView控件(基于Swift实现)
11.3 联合使用开关、分段控件和Web视图控件
11.3.1 创建项目
11.3.2 设计界面
11.3.3 创建并连接输出口和操作
11.3.4 实现应用程序逻辑
11.3.5 生成应用程序
11.4 翻页控件(UIPageControl)
11.4.1 PageControll控件基础
11.4.2 实战演练——使用UIPageControl控件(基于Swift实现)
第12章 提醒和操作表
12.1 提醒视图(UIAlertView)
12.1.1 UIAlertView基础
12.1.2 不同的提醒效果
12.1.3 实战演练——实现一个自定义提醒对话框
12.1.4 实战演练——使用UIAlertView控件(基于Swift实现)
12.2 操作表(UIActionSheet)
12.2.1 操作表的基本用法
12.2.2 响应操作表
12.2.3 使用UIActionSheet的流程
12.2.4 实战演练——使用UIActionSheet控件(基于Swift实现)
第13章 工具栏、日期选择器
13.1 工具栏(UIToolbar)
13.1.1 工具栏基础
13.1.2 修改UIToolBar的背景颜色
13.1.3 实战演练——联合使用UIToolBar和UIView
13.1.4 实战演练——实现一个播放、暂停按钮
13.1.5 实战演练——使用UIToolbar控件(基于Swift实现)
13.2 选择器视图(UIPickerView)
13.2.1 选择器视图基础
13.2.2 实战演练——实现两个UIPickerView控件间的数据依赖
13.2.3 实战演练——自定义一个选择器
13.2.4 实战演练——使用UIPickerView控件(基于Swift实现)
13.3 日期选择(UIDatePicker)
13.3.1 UIDatePicker基础
13.3.2 实战演练——使用 UIDatePicker
13.3.3 实战演练——实现一个日期选择器
13.3.4 实战演练——使用UIDatePicker控件(基于Swift实现)
第14章 表视图(UITable)
14.1 表视图基础
14.1.1 表视图的外观
14.1.2 表单元格
14.1.3 添加表视图
14.1.4 UITableView详解
14.2 实战演练
14.2.1 实战演练——拆分表视图
14.2.2 实战演练——列表显示18条数据
14.2.3 实战演练——分段显示列表中的数据
14.2.4 实战演练——删除单元格
14.2.5 实战演练——自定义UITableViewCell
14.3 实战演练——在表视图中使用其他控件(基于Swift实现)
14.4 实战演练动态控制表视图中的列表条目(基于Swift实现)
第15章 活动指示器、进度条和检索条
15.1 活动指示器(UIActivityIndicatorView)
15.1.1 活动指示器基础
15.1.2 实战演练——实现一个播放器的活动指示器
15.1.3 使用UIActivityIndicatorView控件(基于Swift实现)
15.2 进度条(UIProgressView)
15.2.1 进度条基础
15.2.2 实战演练——实现一个蓝色进度条效果
15.2.3 实战演练——在进度条中显示进度百分比
15.2.4 使用UIProgressView控件(基于Swift实现)
15.3 检索条(UISearchBar)
15.3.1 检索条基础
15.3.2 实战演练——在屏幕中实现一个检索框效果
15.3.3 实战演练——实现一个实时显示检索框效果
15.3.4 实战演练——设置检索框的背景颜色
15.3.5 实战演练——在检索框中添加一个书签按钮
15.3.6 实战演练——在检索框中添加一个范围条
15.3.7 使用UISearchBar控件(基于Swift实现)
第16章 UIView详解
16.1 UIView基础
16.1.1 UIView的结构
16.1.2 视图架构
16.1.3 视图层次和子视图管理
16.1.4 视图绘制周期
16.2 实战演练——设置UIView的位置和尺寸
16.3 实战演练——隐藏指定的UIView区域
16.4 实战演练——改变背景颜色
16.5 实战演练——实现背景透明
16.6 实战演练——定位屏幕中的图片
16.7 实战演练——旋转和缩放视图
第17章 视图控制器
17.1 导航控制器(UIViewController)简介
17.1.1 UIViewController基础
17.1.2 实战演练——实现不同界面之间的跳转处理
17.2 使用UINavigationController
17.2.1 导航栏、导航项和栏按钮项
17.2.2 UINavigationController详解
17.2.3 在故事板中使用导航控制器
17.2.4 使用 UINavigationController的流程
17.2.5 实战演练——实现不同视图的切换
17.2.6 实战演练——通过列表实现不同界面之间的跳转
17.2.7 实战演练——使用导航控制器展现3个场景
17.3 选项卡栏控制器
17.3.1 选项卡栏和选项卡栏项
17.3.2 在选项卡栏控制器管理的场景之间共享数据
17.3.3 UITabBarController使用详解
17.3.4 实战演练——实现不同场景的切换
17.3.5 实战演练——使用选项卡栏控制器构建3个场景
17.4 实战演练——动态添加列表(基于Swift实现)
第三篇 技术进阶篇
第18章 实现多场景和弹出框
18.1 多场景故事板
18.1.1 多场景故事板基础
18.1.2 创建多场景项目
18.1.3 实战演练——使用第二个视图来编辑第一个视图中的信息
18.1.4 实战演练——实现多个视图之间的切换
18.2 实现一个新闻阅读器(基于Swift实现)
第19章 iPad弹出框和分割视图控制器
19.1 iPad弹出框
19.1.1 创建弹出框
19.1.2 创建弹出切换
19.1.3 手工显示弹出框
19.1.4 响应用户关闭弹出框
19.1.5 以编程方式创建并显示弹出框
19.1.6 实战演练——使用弹出框更新内容
19.2 探索分割视图控制器
19.2.1 分割视图控制器基础
19.2.2 表视图实战演练
第20章 界面旋转、大小和全屏处理
20.1 启用界面旋转
20.2 设计可旋转和调整大小的界面
20.2.1 自动旋转和自动调整大小
20.2.2 调整框架
20.2.3 切换视图
20.2.4 实战演练——使用Interface Builder创建可旋转和调整大小的界面
20.2.5 实战演练——在旋转时调整控件
20.2.6 实战演练——旋转时切换视图
第21章 图形、图像、图层和动画
21.1 图形处理
21.1.1 iOS的绘图机制
21.1.2 实战演练——在屏幕中绘制一个三角形
21.2 图像处理
21.2.1 实战演练——实现颜色选择器/调色板功能
21.2.2 实战演练——实现滑动颜色选择器/调色板功能
21.3 图层
21.3.1 视图和图层
21.3.2 实战演练——在屏幕中实现3个重叠的矩形
21.3.3 实战演练——实现图层的变换
21.3.4 实战演练——在指南针上实现某种“页面翻转”的效果
21.4 实现动画
21.4.1 UIImageView动画
21.4.2 视图动画UIView
21.4.3 Core Animation详解
21.4.4 实战演练——联合使用图像动画、滑块和步进控件
21.4.5 实战演练——实现“烟花烟花满天飞”的效果
21.5 实战演练——图形图像的人脸检测处理(基于Swift实现)
第22章 声音服务
22.1 访问声音服务
22.1.1 声音服务基础
22.1.2 实战演练——播放声音文件
22.2 提醒和振动
22.2.1 播放提醒音
22.2.2 实战演练——实用iOS的提醒功能
第23章 多媒体应用
23.1 Media Player框架
23.1.1 Media Player框架中的类
23.1.2 使用电影播放器
23.1.3 处理播放结束
23.1.4 使用多媒体选择器
23.1.5 使用音乐播放器
23.1.6 实战演练——使用Media Player播放视频
23.2 AV Foundation框架
23.2.1 准备工作
23.2.2 使用AV音频播放器
23.2.3 使用AV录音机
23.2.4 使用AV Foundation框架播放音频的流程
23.3 图像选择器(UIImagePickerController)
23.3.1 使用图像选择器
23.3.2 图像选择器控制器委托
23.3.3 UIImagePickerController在iPhone和iPad上的区别
23.3.4 用UIImagePickerController调用系统照相机
23.3.5 防止 UIImagePickerController“坏死”
23.4 实战演练——一个多媒体的应用程序
23.4.1 实现概述
23.4.2 创建项目
23.4.3 设计界面
23.4.4 创建并连接输出口和操作
23.4.5 实现电影播放器
23.4.6 实现音频录制和播放
23.4.7 使用照片库和相机
23.4.8 实现Core Image滤镜
23.4.9 访问并播放音乐库
23.5 实战演练——实现一个MP3播放器(基于Swift语言)
第24章 定位处理
24.1 Core Location框架
24.1.1 Core Location基础
24.1.2 使用流程
24.2 获取位置
24.2.1 位置管理器委托
24.2.2 处理定位错误
24.2.3 位置精度和更新过滤器
24.2.4 获取航向
24.3 地图功能
24.3.1 Map Kit基础
24.3.2 为地图添加标注
24.4 实战演练——创建一个支持定位的应用程序
24.4.1 创建项目
24.4.2 设计视图
24.4.3 创建并连接输出口
24.4.4 实现应用程序逻辑
24.4.5 生成应用程序
24.5 实战演练——在屏幕中实现一个定位系统
24.5.1 设计界面
24.5.2 具体编码
24.6 实战演练——使用谷歌地图
24.6.1 添加打开地图功能
24.6.2 升级视图控制器
24.6.3 添加自定义地图标注对象
第25章 和互联网接轨
25.1 UIWebView控件
25.1.1 UIWebView基础
25.1.2 实战演练——显示指定的网页
25.1.3 实战演练——控制屏幕中的网页
25.1.4 实战演练——加载显示PDF、Word和JPEG图片
25.1.5 实战演练——在网页中加载HTML代码
25.1.6 实战演练——在网页中实现触摸处理
25.2 实战演练——实现一个简单的网页浏览器
第26章 读写应用程序数据
26.1 iOS应用程序和数据存储
26.2 用户默认设置
26.3 设置束
26.3.1 设置束基础
26.3.2 实战演练——通过隐式首选项实现一个手电筒程序
26.4 直接访问文件系统
26.4.1 应用程序数据的存储位置
26.4.2 获取文件路径
26.4.3 读写数据
26.4.4 读取和写入文件
26.4.5 通过plist文件存取文件
26.4.6 保存和读取文件
26.4.7 文件共享和文件类型
26.4.8 传递一个文档
26.4.9 实战演练——实现一个收集用户信息的程序
26.5 iCloud存储
26.6 使用SQLite3存储和读取数据
26.7 核心数据
26.7.1 Core Data基础
26.7.2 Core Data基本架构
26.7.3 托管对象(Managed Objects)和托管对象模型(Managed Object Model)
26.7.4 实战演练——在iOS中使用CoreData
26.8 互联网数据
26.8.1 XML和JSON
26.8.2 实战演练——使用JSON获取网站中的照片信息
第四篇 技术提高篇
第27章 触摸和手势识别
27.1 多点触摸和手势识别基础
27.2 触摸处理
27.2.1 触摸事件和视图
27.2.2 实战演练——触摸屏幕中的按钮
27.2.3 实战演练——同时滑动屏幕中的两个滑块
27.2.4 实战演练——触摸屏幕检测
27.2.5 实战演练——触摸屏幕中的文字标签
27.3 手势处理
27.3.1 手势处理基础
27.3.2 实战演练——实现一个手势识别器
第28章 和硬件之间的操作
28.1 加速计和陀螺仪
28.1.1 加速计基础
28.1.2 陀螺仪
28.1.3 实战演练——检测倾斜和旋转
28.2 访问朝向和运动数据
28.2.1 两种方法
28.2.2 实战演练——检测朝向
第29章 地址簿、邮件和Twitter
29.1 地址簿
29.1.1 框架Address Book UI
29.1.2 框架Address Book
29.2 电子邮件
29.3 使用Twitter发送推特信息
29.4 实战演练——联合使用地址簿、电子邮件、Twitter和地图
29.4.1 创建项目
29.4.2 设计界面
29.4.3 创建并连接输出口和操作
29.4.4 实现地址簿逻辑
29.4.5 实现地图逻辑
29.4.6 实现电子邮件逻辑
29.4.7 实现Twitter逻辑
29.4.8 生成应用程序
29.5 实战演练——开发一个Twitter客户端(基于Swift)
第30章 开发通用的项目程序
30.1 开发通用应用程序
30.1.1 在iOS 6中开发通用应用程序
30.1.2 在iOS 7、iOS 8中开发通用应用程序
30.1.3 图标文件
30.1.4 启动图像
30.2 实战演练——使用通用程序模板创建通用应用程序
30.2.1 创建项目
30.2.2 设计界面
30.2.3 创建并连接输出口
30.2.4 实现应用程序逻辑
30.3 实战演练——使用视图控制器
30.3.1 创建项目
30.3.2 设计界面
30.3.3 创建并连接输出口
30.3.4 实现应用程序逻辑
30.3.5 生成应用程序
30.4 实战演练——使用多个目标
30.4.1 将iPhone目标转换为iPad目标
30.4.2 将iPad目标转换为iPhone目标
30.5 实战演练——创建基于“主—从”视图的应用程序
30.5.1 创建项目
30.5.2 调整iPad界面
30.5.3 调整iPhone界面
30.5.4 实现应用程序数据源
30.5.5 实现主视图控制器
30.5.6 实现细节视图控制器
30.5.7 生成应用程序
30.6 开发一个iPad飞行游戏(基于Swift)
第31章 推服务和多线程
31.1 推服务
31.1.1 推服务介绍
31.1.2 推服务的机制
31.2 多线程
31.2.1 多线程基础
31.2.2 iOS中的多线程
31.2.3 线程的同步与锁
31.2.4 线程的交互
31.3 ARC机制
31.3.1 ARC概述
31.3.2 ARC中的新规则
第32章 Touch ID详解
32.1 初步认识Touch ID
32.2 开发Touch ID应用程序
32.2.1 iOS 8的新功能
32.2.2 开发Touch ID应用程序的步骤
32.3 实战演练——使用Touch ID认证
32.4 实战演练——使用Touch ID密码和指纹认证
32.5 实战演练——Touch ID认证的综合演练
第33章 游戏开发
33.1 Sprite Kit框架基础
33.1.1 Sprite Kit的优点和缺点
33.1.2 Sprite Kit、Cocos2D、Cocos2D-X和Unity的选择
33.1.3 实战演练——开发一个Sprite Kit游戏程序
33.2 实战演练——开发一个Flappy Bird游戏(基于Swift)
第五篇 综合实战篇
第34章 公交路线查询系统
34.1 公交路线查询系统介绍
34.2 公交路线查询系统主界面
34.2.1 线路查询视图
34.2.2 线路详情模块
34.2.3 线路中某站详情
34.3 站站查询
34.3.1 站站查询主视图
34.3.2 站站查询详情视图
34.4 线路收藏本站历史
34.5 地图信息
34.5.1 地图主视图
34.5.2 Web地图视图
34.6 系统设置
34.6.1 主视图
34.6.2 当前城市视图
34.6.3 数据下载视图
更新时间:2019-01-02 10:00:07