第一篇 准备篇 2
第1章 iOS 7开发概述 2
1.1 iOS 7新特性 2
1.1.1 控制中心 2
1.1.2 通知中心 2
1.1.3 多任务 3
1.1.4 浏览器 3
1.1.5 语言助手 4
1.1.6 iOS的车载应用 4
1.1.7 Activation Lock激活锁 4
1.1.8 照相功能 4
1.1.9 图片库功能 4
1.1.10 AirDrop 4
1.1.11 iTunes广播 5
1.1.12 应用商店 5
1.1.13 UIKit动力 5
1.1.14 地图 6
1.1.15 游戏 6
1.1.16 Objective-C语言 7
1.1.17 iOS 7对已有框架的改进 7
1.1.18 iOS 7新增框架 11
1.2 构建开发环境——Xcode 5 11
1.2.1 安装Xcode 5 11
1.2.2 绑定苹果开发者账号 12
1.2.3 更新文件和组件 13
1.2.4 帮助文档 14
1.3 编写第一个iOS 7应用 15
1.3.1 创建项目 15
1.3.2 编译、连接、运行 17
1.3.3 iOS模拟器介绍 18
1.3.4 编辑界面 21
1.3.5 编写代码 23
1.3.6 定制应用程序图标 25
1.4 小结 26
第2章 认识全新的XCode 5 27
2.1 Xcode 5的新特性 27
2.1.1 自动配置 27
2.1.2 测试导航 28
2.1.3 Datatip 28
2.1.4 自动布局 28
2.1.5 Debug仪表 28
2.1.6 源代码控制 29
2.2 解剖Xcode 5界面 30
2.2.1 导航窗口 31
2.2.2 工具窗口 31
2.2.3 编辑窗口 32
2.2.4 目标窗口 33
2.3 Xcode 5项目结构 34
2.4 调试程序 35
2.5 小结 37
第3章 Objective-C语言基础 38
3.1 Obiective-C语言简介 38
3.1.1 Objective-C语言的发展 38
3.1.2 Obiective-C语言的特点 39
3.2 数据类型 39
3.2.1 与C语言通用的数据类型 39
3.2.2 Obiective-C特有的数据类型 40
3.3 变量与常量 41
3.3.1 变量 41
3.3.2 常量 41
3.3.3 标识符 43
3.4 运算符 44
3.4.1 赋值运算符 44
3.4.2 算术运算符 45
3.4.3 自增自减运算符 46
3.4.4 位运算符 47
3.4.5 复合运算符 47
3.4.6 关系运算符 48
3.4.7 布尔逻辑运算符 49
3.4.8 特殊的运算符 50
3.4.9 运算符的优先级 50
3.4.10 语句与表达式 52
3.5 程序控制结构 52
3.5.1 顺序结构 53
3.5.2 选择结构 53
3.5.3 循环结构 57
3.6 类 60
3.6.1 类的创建 60
3.6.2 实例化对象 61
3.6.3 实例变量 62
3.6.4 方法 63
3.7 继承及多态 67
3.7.1 继承 67
3.7.2 多态 68
3.8 分类和协议 69
3.8.1 分类 70
3.8.2 协议 72
3.9 小结 75
第4章 Cocoa基础 76
4.1 Foundation框架 76
4.1.1 数字对象(NSNumber) 76
4.1.2 字符串对象(NSString) 80
4.1.3 数组对象(NSArray) 89
4.1.4 字典对象(NSDictionary) 98
4.1.5 集合对象(NSSet) 104
4.1.6 Foundation框架中对象总结 111
4.2 Application框架 113
4.2.1 Cocoa应用程序项目的创建 113
4.2.2 编写一个Cocoa应用程序 114
4.2.3 Application框架中对象的总结 117
4.3 小结 118
第二篇 界面设计篇 120
第5章 自定义视图和视图控制器 120
5.1 视图库介绍 120
5.2 自定义视图的创建 121
5.2.1 静态创建自定义视图 121
5.2.2 动态创建自定义视图 122
5.3 视图控制器 124
5.3.1 创建视图控制器 124
5.3.2 定义初始视图 126
5.4 视图的实现 127
5.4.1 切换视图 128
5.4.2 旋转视图 131
5.5 小结 136
第6章 文字显示视图 137
6.1 标签控件Lable 137
6.1.1 创建标签 137
6.1.2 制作特殊的标签 139
6.2 文本框控件 141
6.2.1 创建文本框 141
6.2.2 制作特殊的文本框 143
6.2.3 键盘的显示 145
6.2.4 设置键盘的显示类型 147
6.2.5 关闭键盘 149
6.2.6 文本框的实现 154
6.3 文本视图 156
6.3.1 创建文本视图 156
6.3.2 制作特殊的文本视图 158
6.3.3 文本视图中键盘的退出 160
6.3.4 文本视图的应用——阅读浏览器 164
6.4 小结 168
第7章 图形图像 169
7.1 图像视图 169
7.1.1 创建图像视图 169
7.1.2 显示图像 171
7.2 设置独特的图像视图 175
7.2.1 显示模式 175
7.2.2 改变位置 177
7.2.3 改变大小 182
7.2.4 旋转 183
7.2.5 缩放 184
7.3 图像视图的应用——图片浏览器 186
7.4 绘制图形术语简介 188
7.4.1 图形上下文 188
7.4.2 图形上下文的分类 188
7.4.3 Quartz2D定义的数据类型 189
7.4.4 获取当前的图形上下文 190
7.4.5 使用Quartz 2D绘图的步骤 190
7.5 绘制路径 191
7.5.1 绘制线段 191
7.5.2 绘制矩形 196
7.5.3 路径函数总结 197
7.5.4 为图形添加特效 198
7.6 绘制位图 204
7.6.1 绘制单个位图 204
7.6.2 绘制多个位图 205
7.7 绘制文字 207
7.7.1 文字设置 207
7.7.2 设置转换矩阵 207
7.7.3 填充字体 208
7.7.4 设置绘制模式 209
7.8 小结 211
第8章 网页操作 212
8.1 网页视图的创建 212
8.2 加载内容 214
8.2.1 加载网页内容 214
8.2.2 加载HTML代码 216
8.3 设置独特的网页 218
8.3.1 自动识别网页内容 218
8.3.2 自动缩放 220
8.4 添加导航 221
8.4.1 导航动作 221
8.4.2 加载时常用方法 224
8.5 网页视图的应用——网页浏览器 225
8.6 小结 233
第9章 表视图 234
9.1 创建表视图 234
9.2 内容填充 236
9.2.1 填充内容的步骤 236
9.2.2 填充字符串 238
9.2.3 填充图片 240
9.2.4 添加页眉页脚 242
9.2.5 添加索引 243
9.3 设置表单元 244
9.3.1 设置显示风格 244
9.3.2 设置标记 247
9.3.3 设置行高 250
9.4 响应表视图 252
9.4.1 选择行 252
9.4.2 删除行 255
9.4.3 添加行 257
9.4.4 移动行 259
9.4.5 缩进 262
9.5 创建分组表 264
9.6 填充分组表 266
9.6.1 填充Grouped风格的分组表 266
9.6.2 填充Plain风格的分组表 269
9.7 表视图的实现 272
9.8 小结 276
第10章 导航控制器和标签栏控制器 277
10.1 导航控制器 277
10.1.1 导航控制器的组成 277
10.1.2 导航控制器的创建 278
10.1.3 改变导航控制器的关联视图 279
10.1.4 实现导航 280
10.1.5 添加标题 281
10.1.6 设置导航栏颜色 283
10.1.7 添加左右按钮 286
10.1.8 设置返回按钮 291
10.2 标签栏控制器 292
10.2.1 标签栏控制器的创建 293
10.2.2 设置标签栏控制器 296
10.3 导航控制器和标签栏控制器应用——电话簿 305
10.4 小结 314
第三篇 应用篇 316
第11章 提醒处理 316
11.1 警告视图 316
11.1.1 创建警告视图 316
11.1.2 显示警告视图 317
11.1.3 警告视图的设置 318
11.1.4 响应提醒视图 324
11.2 动作表单 328
11.2.1 动作表单的创建 328
11.2.2 显示动作表单 329
11.2.3 响应动作表单 330
11.3 小结 333
第12章 选择操作 334
12.1 日期选择器 334
12.1.1 日期选择器的创建 334
12.1.2 定制日期选择器 336
12.1.3 日期选择器应用——生日管理器 340
12.2 自定义选择器 345
12.2.1 自定义选择器的创建 345
12.2.2 定制自定义选择器 347
12.2.3 自定义选择器应用——头像更换 351
12.3 小结 356
第13章 定位服务与地图 357
13.1 定位服务 357
13.1.1 获取位置数据 357
13.1.2 管理与提供位置服务 358
13.1.3 位置方向 361
13.2 创建地图 361
13.2.1 静态创建地图 362
13.2.2 动态创建地图 362
13.3 定制地图 364
13.3.1 设置显示模式 364
13.3.2 显示当前的位置 367
13.3.3 指定位置 368
13.3.4 添加标记 370
13.3.5 在一定范围内显示指定位置 372
13.3.6 获取地图的缩放级别 374
13.3.7 标注 376
13.3.8 将位置转换为地址 377
13.4 地图的应用——地图浏览器 381
13.5 小结 388
第14章 访问内置的应用程序 389
14.1 地址簿 389
14.1.1 访问地址簿 389
14.1.2 添加联系人 392
14.1.3 显示个人信息 397
14.1.4 将其他地方的人添加到地址簿 400
14.2 电子邮件 402
14.2.1 访问系统电子邮件 403
14.2.2 发送系统电子邮件 404
14.2.3 SMS的访问以及发送 411
14.3 日历 413
14.3.1 单个事件界面 413
14.3.2 添加或编辑日历事件界面 417
14.4 小结 422
第15章 多媒体 423
15.1 照片库 423
15.1.1 操作照片库 423
15.1.2 访问照片库 427
15.1.3 定制照片 428
15.1.4 设置相机 431
15.1.5 照片库的应用——背景选择 434
15.2 音频 438
15.2.1 系统声音 438
15.2.2 音频播放器 440
15.2.3 录音 444
15.2.4 访问音乐库 448
15.2.5 音频的应用——MP3播放器 450
15.3 视频 457
15.4 小结 461
第16章 动画 462
16.1 UIView动画 462
16.1.1 创建动画块 462
16.1.2 修改动画块 464
16.1.3 过渡动画 466
16.2 CATransition动画 471
16.2.1 CATransition实现动画 471
16.2.2 公开动画效果 472
16.2.3 非公开动画效果 474
16.3 NSTimer动画 477
16.3.1 NSTimer的创建 477
16.3.2 平移 477
16.3.3 旋转 480
16.3.4 缩放 482
16.4 小结 483
第17章 触摸与手势 484
17.1 触摸 484
17.1.1 触摸阶段 484
17.1.2 触摸方法 485
17.2 手势 488
17.2.1 轻拍 488
17.2.2 捏 492
17.2.3 滑动 494
17.2.4 旋转 497
17.2.5 移动 498
17.2.6 长按 500
17.2.7 自定义手势 502
17.3 小结 505