第1章 iOS开发入门 1
1.1 iOS系统介绍 1
1.1.1 iOS发展史 1
1.1.2 iOS功能 1
1.2 从iPhone到iPad 4
1.2.1 让世界疯狂的iPhone 4
1.2.2 改变世界的iPad 5
1.3 加入iOS开发团队 5
1.4 搭建开发环境 7
1.4.1 Xcode介绍 8
1.4.2 iOS SDK介绍 8
1.4.3 下载并安装Xcode 10
1.5 使用Xcode开发环境 13
1.5.1 使用Xcode创建程序的基本步骤 14
1.5.2 Xcode的基本功能 14
1.6 启动模拟器 26
1.7 iOS的常用开发框架 30
1.7.1 Foundation框架简介 30
1.7.2 Cocoa框架简介 32
1.8 常用的第三方工具 33
1.8.1 iPhone Simulator 33
1.8.2 Interface Builder 34
第2章 Objective-C语言基础 35
2.1 最耀眼的新星 35
2.1.1 统计数据 35
2.1.2 Objective-C概述 35
2.1.3 为什么选择Objective-C 36
2.2 Objective-C的优点及缺点 37
2.3 Objective-C实例 37
2.3.1 使用Xcode编辑代码 38
2.3.2 基本元素介绍 40
2.4 数据类型和常量 44
2.4.1 int类型 45
2.4.2 float类型 46
2.4.3 double类型 46
2.4.4 char类型 47
2.4.5 字符常量 49
2.4.6 id类型 50
2.4.7 限定词 51
2.4.8 总结基本数据类型 53
2.5 字符串 53
2.6 算数表达式 54
2.6.1 运算符的优先级 54
2.6.2 整数运算和一元负号运算符 55
2.6.3 模运算符 56
2.6.4 整型值和浮点值的相互转换 57
2.6.5 类型转换运算符 58
2.7 表达式 58
2.7.1 常量表达式 58
2.7.2 条件运算符 59
2.7.3 sizeof运算符 59
2.7.4 关系运算符 60
2.7.5 强制类型转换运算符 61
2.8 位运算符 61
2.8.1 按位与运算符 62
2.8.2 按位或运算符 62
2.8.3 按位异或运算符 63
2.8.4 一次求反运算符 63
2.8.5 向左移位运算符 64
2.8.6 向右移位运算符 65
2.8.7 总结Objective-C的运算符 65
第3章 连连看手机游戏 67
3.1 基础知识讲解 67
3.1.1 处理复合视图 67
3.1.2 音频技术 74
3.1.3 屏幕刷新和事件交互处理 81
3.2 连连看游戏项目系统分析 83
3.2.1 分析游戏功能 83
3.2.2 设计类 83
3.3 设计界面 84
3.3.1 创建复合视图 84
3.3.2 按键处理 88
3.3.3 响应屏幕刷新事件 91
3.4 具体编码 93
第4章 开发一个记事本程序 104
4.1 基础知识讲解 104
4.1.1 使用文本框(UITextField) 104
4.1.2 文本视图(UITextView) 106
4.1.3 提醒处理 108
4.1.4 多场景故事板 111
4.1.5 创建多场景项目 112
4.1.6 使用标签(UILabel) 117
4.1.7 使用表视图(UITable) 121
4.2 记事本项目系统分析 125
4.2.1 分析功能 125
4.2.2 main.m类 126
4.2.3 主界面 126
4.2.4 记事本列表界面 127
4.2.5 记事本详情界面 129
4.2.6 滚动处理 132
4.2.7 获取截屏 134
4.2.8 撰写新记事本信息 135
第5章 开发浏览器程序 137
5.1 基础知识讲解 137
5.1.1 使用UIWebView控件 137
5.1.2 静态库 139
5.1.3 屏幕双缓冲技术 142
5.2 浏览器项目演练 144
5.2.1 进入网易 144
5.2.2 进入百度 151
第6章 开发一个视频播放器 155
6.1 基础知识讲解 155
6.1.1 MediaPlayer框架 155
6.1.2 AVFoundation框架 161
6.1.3 图像选择器 164
6.1.4 CoreImage框架 168
6.2 视频播放器项目系统分析 171
6.2.1 分析游戏功能 171
6.2.2 设计UI视图界面 172
6.2.3 程序定制 172
6.2.4 视图控制 173
6.2.5 本地播放视图控制 180
6.2.6 触摸图像播放 181
6.2.7 视频流处理 181
6.2.8 显示播放状态 182
6.2.9 视频播放 182
第7章 开发一个地图系统 186
7.1 基础知识讲解 186
7.1.1 Core Location框架 186
7.1.2 获取位置 189
7.1.3 地图功能 192
7.1.4 创建一个支持定位的应用程序 195
7.1.5 在项目中使用磁性指南针 200
7.1.6 使用谷歌地图 205
7.2 实现一个基本的定位系统 207
7.2.1 设计UI视图 207
7.2.2 主视图处理 208
7.2.3 FlipsideView视图处理 210
7.3 添加谷歌地图 211
7.3.1 添加打开地图功能 211
7.3.2 视图控制器的升级 213
7.3.3 添加自定义地图标注对象 215
第8章 开发一个通信录系统 217
8.1 基础知识讲解 217
8.1.1 iOS中的地址簿(通信录) 217
8.1.2 电子邮件 219
8.1.3 使用Twitter发送推特信息 220
8.1.4 联合使用地址簿、电子邮件、Twitter和地图 221
8.2 开发一个智能通信录系统 230
8.2.1 设计UI视图 230
8.2.2 实现根视图 231
8.2.3 实现添加联系人图 234
8.2.4 实现查看联系人视图 238
8.2.5 实现编辑视图 240
8.2.6 视图配置 242
第9章 开发一个翻书特效系统 244
9.1 基础知识讲解 244
9.1.1 iOS中的动画 244
9.1.2 UllmageView动画 245
9.1.3 Core Animation视图动画 254
9.1.4 Core Animation——关键帧动画 260
9.1.5 修改动画块 262
9.1.6 过渡动画 263
9.1.7 基于块的视图动画 263
9.1.8 隐式动画 264
9.1.9 核心动画 265
9.2 翻书特效项目系统分析 266
9.2.1 UI视图 266
9.2.2 图书翻页控件 267
9.2.3 主界面 270
9.2.4 PDF例子视图 271
9.2.5 Image例子视图 272
9.2.6 Procedural例子视图 274
第10章 开发一个多功能音乐盒 276
10.1 系统介绍 276
10.1.1 功能介绍 276
10.1.2 模块划分 276
10.2 系统主界面 277
10.3 音乐库 279
10.3.1 音乐库主界面 280
10.3.2 歌曲表视图控制器 282
10.3.3 开关控制器 286
10.3.4 专辑模块 289
10.3.5 歌曲信息模块 294
10.3.6 正在播放模块 296
10.4 在线搜索 300
10.5 MV播放 308
10.5.1 主界面 309
10.5.2 视图刷新 315
10.5.3 MV信息 316
10.5.4 MV搜索 317
10.5.5 Hot MV 317
第11章 公交路线查询系统 320
11.1 系统介绍 320
11.2 系统主界面 321
11.2.1 线路查询视图 321
11.2.2 线路详情模块 325
11.2.3 线路中某站详情 328
11.3 站站查询 332
11.3.1 站站查询主视图 332
11.3.2 站站查询详情视图 340
11.4 收藏历史 342
11.5 地图信息 348
11.5.1 地图主视图 348
11.5.2 Web地图视图 350
11.6 系统设置 352
11.6.1 主视图 352
11.6.2 当前城市视图 358
11.6.3 数据下载视图 361
第12章 分析开源中国客户端 365
12.1 系统介绍 365
12.2 系统主界面 366
12.3 多线程处理 369
12.4 信息显示模块 371
12.4.1 信息显示根界面模块 372
12.4.2 显示单元格模块 374
12.4.3 列表显示模块 375
12.4.4 问答根视图 381
12.4.5 单元格模块 384
12.4.6 问答信息显示模块 384
12.4.7 信息详情模块 392
12.5 分享模块 396
12.5.1 设计UI视图 396
12.5.2 具体编码 396
12.6 搜索模块 399
12.6.1 设计UI视图 399
12.6.2 具体编码 399