《iOS开发从入门到精通》PDF下载

  • 购买积分:23 如何计算积分?
  • 作  者:刘燕编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302448662
  • 页数:868 页
图书介绍:本书以丰富的实例案例、通俗易懂的语言详细讲解了iOS应用开发的基础知识。全书配有视频,配套学习资源非常丰富。

第1章 iOS基础 1

1.1 iOS发展历史 2

1.2 iOS特性 4

1.3 iOS架构 5

1.3.1 Cocoa Touch层 6

1.3.2 媒体层 7

1.3.3 Core Services层 8

1.3.4 Core OS层 9

1.4 Objective-C概述 9

1.5 比较iOS和Mac OS 10

1.5.1 UIKit与AppKit的对比 10

1.5.2 Foundation框架的差异 11

1.5.3 其他框架的改变 12

1.6 iOS开发环境和工具 13

1.6.1 了解Xcode 13

1.6.2 Xcode导航面板 14

1.6.3 Xcode检查器面板 16

1.6.4 Xcode库面板 17

1.6.5 使用帮助 19

1.7 使用Xcode 20

1.7.1 案例:编写第一个Objective-C程序 20

1.7.2 案例:创建第一个项目 24

1.8 小结 29

第2章 数据类型和运算符 30

2.1 数据类型分类 31

2.2 简单数据类型 31

2.2.1 整型 31

2.2.2 案例:输出格式字符 35

2.2.3 浮点型 36

2.2.4 字符型 41

2.2.5 案例:定义字符串 42

2.2.6 枚举型 43

2.2.7 布尔型 45

2.3 类型转换 48

2.3.1 案例:自动类型转换 48

2.3.2 案例:强制类型转换 49

2.3.3 案例:自动提升 50

2.4 运算符 51

2.4.1 运算符分类 51

2.4.2 运算优先级 52

2.4.3 算术运算符 53

2.4.4 赋值运算符 56

2.4.5 位运算符 58

2.4.6 比较运算符 60

2.4.7 逻辑运算符 61

2.4.8 逗号运算符 63

2.4.9 条件运算符 63

2.5 小结 64

第3章 控制语句 65

3.1 条件语句 66

3.1.1 if语句 66

3.1.2 案例:分支语句应用 68

3.1.3 switch语句 71

3.2 循环语句 74

3.2.1 while语句 74

3.2.2 do-while语句 76

3.2.3 for语句 77

3.2.4 案例:for语句应用 79

3.2.5 案例:嵌套循环 81

3.3 控制语句 82

3.3.1 break语句 82

3.3.2 continue语句 83

3.3.3 return语句 84

3.3.4 案例:使用goto语句 84

3.4 预处理命令 86

3.4.1 宏定义 87

3.4.2 运算符 89

3.4.3 #import语句 89

3.4.4 条件编译 90

3.5 小结 91

第4章 C语言特性 92

4.1 数组 93

4.1.1 定义数组 93

4.1.2 初始化数组 93

4.1.3 使用数组 94

4.1.4 定义多维数组 96

4.1.5 初始化多维数组 97

4.1.6 使用字符数组 102

4.1.7 案例实战 103

4.2 函数 108

4.2.1 定义函数 108

4.2.2 声明函数 111

4.2.3 函数类型 111

4.2.4 函数参数 113

4.2.5 函数返回值 115

4.2.6 案例实战 116

4.3 块 122

4.3.1 定义块 122

4.3.2 块作用域 124

4.3.3 使用块变量类型 126

4.4 结构 127

4.4.1 定义结构 127

4.4.2 使用typedef 130

4.4.3 初始化结构 131

4.4.4 使用结构体数组 132

4.4.5 嵌套结构 133

4.5 指针 135

4.5.1 认识指针 135

4.5.2 定义指针变量 135

4.5.3 指针的基本运算 136

4.5.4 指针变量作为函数参数 139

4.5.5 对象和指针的关系 141

4.6 数组和指针 141

4.6.1 指向数组的指针变量 142

4.6.2 指针运算 143

4.6.3 案例实战 147

4.7 案例应用 151

4.7.1 使用字符串指针 151

4.7.2 使用函数指针 152

4.8 小结 157

第5章 类 158

5.1 定义类 159

5.1.1 认识类 159

5.1.2 接口 159

5.1.3 实现 162

5.1.4 案例:定义类 163

5.2 使用类 165

5.2.1 实例化 165

5.2.2 指针 166

5.2.3 self 168

5.2.4 id类型 171

5.2.5 类名的使用 173

5.2.6 类的比较 173

5.3 变量 174

5.3.1 局部变量 174

5.3.2 全局变量 175

5.3.3 实例变量 177

5.3.4 静态变量 180

5.3.5 变量的存储类别 182

5.3.6 案例:定义单例类 183

5.3.7 案例:定义类变量 184

5.4 属性 185

5.4.1 属性的声明 185

5.4.2 属性的实现 187

5.4.3 属性类型和相关函数 188

5.4.4 属性类型编码 189

5.4.5 属性重声明 189

5.4.6 子类中的属性 190

5.4.7 案例:使用封装 190

5.4.8 案例:使用访问控制符 193

5.4.9 案例:合成存取 194

5.4.10 案例:点语法存取 197

5.5 方法 198

5.5.1 定义方法 198

5.5.2 方法的所属性 199

5.5.3 案例:设计可变形参的方法 199

5.6 继承 201

5.6.1 继承实例变量 202

5.6.2 方法的继承 202

5.6.3 方法的重写 202

5.6.4 类别和扩展 204

5.6.5 案例:类继承 206

5.6.6 案例:重写 208

5.6.7 案例:使用super关键字 209

5.7 异常处理 212

5.7.1 启用异常处理 212

5.7.2 异常处理 212

5.7.3 捕捉不同类型的异常 213

5.7.4 抛出异常 214

5.8 类型 214

5.8.1 静态指定类型 214

5.8.2 类型的自查 215

5.9 根类 215

5.9.1 NSObject简介 216

5.9.2 根类和协议 216

5.9.3 根类方法 216

5.9.4 根类接口规范 218

5.9.5 根类实例方法和类方法 218

5.10 小结 218

第6章 消息和协议 219

6.1 消息 220

6.1.1 定义消息 220

6.1.2 发送消息 221

6.1.3 接收实例变量 222

6.1.4 获取方法地址 222

6.1.5 objc_msgSend()函数 223

6.1.6 使用隐藏的参数 224

6.1.7 消息转发 225

6.1.8 消息转发与多重继承 226

6.1.9 消息代理对象 227

6.1.10 消息转发与类继承 227

6.1.11 多态性 228

6.1.12 动态绑定 228

6.1.13 解析动态方法 229

6.1.14 动态加载 229

6.1.15 “.”语法格式 230

6.2 协议 232

6.2.1 预定义声明接口 233

6.2.2 预定义方法 233

6.2.3 声明接口 234

6.2.4 非层级相似性 235

6.2.5 正式协议 235

6.2.6 非正式协议 237

6.2.7 协议对象 238

6.2.8 采用协议 239

6.2.9 服从协议 239

6.2.10 类型校验 242

6.2.11 嵌套协议 242

6.2.12 引用其他协议 243

6.3 小结 244

第7章 对象 245

7.1 创建对象 246

7.1.1 分配对象 246

7.1.2 初始化对象 246

7.1.3 dealloc方法 250

7.1.4 类工厂方法 251

7.2 对象动态类型 251

7.3 对象可变性 252

7.3.1 可变或不可变对象 252

7.3.2 用可变对象编程 253

7.4 对象通信 255

7.4.1 面向对象程序中的通信 255

7.4.2 IBoutlet变量 255

7.4.3 委托和数据源 256

7.4.4 目标-动作机制 259

7.4.5 绑定 262

7.4.6 通告 263

7.5 使用对象 265

7.5.1 对象所有权策略 266

7.5.2 保留计数 266

7.5.3 自动释放 266

7.5.4 共享对象的有效性 268

7.5.5 存取方法 268

7.5.6 回收对象 269

7.5.7 通过引用返回的对象 269

7.6 小结 270

第8章 Foundation框架基础 271

8.1 认识Foundation框架 272

8.2 使用Foundation框架 275

8.3 数字类型 278

8.3.1 数字类型类NSNumber 278

8.3.2 比较int、NSInteger、NSUInteger和NSNumber 279

8.4 字符串类型 280

8.4.1 不可变字符串类NSString 280

8.4.2 可变字符串类NSMutableString 282

8.4.3 案例实战 284

8.5 日期类型 287

8.5.1 日期类型类NSDate 287

8.5.2 NSCalendar和NSDateComponents 289

8.5.3 案例实战 292

8.6 数组类型 296

8.6.1 不可变数组类NSArray 296

8.6.2 可变数组类NSMutableArray 298

8.6.3 多维数组 299

8.6.4 案例:操作数组 303

8.6.5 案例:操作元素 304

8.6.6 案例:数组排序 305

8.6.7 案例:遍历数组 307

8.6.8 案例:快速枚举 308

8.6.9 案例:可变数组 308

8.7 字典类型 310

8.7.1 不可变字典类NSDictionary 310

8.7.2 可变字典类NSMutableDictionary 311

8.7.3 案例:使用字典 312

8.7.4 案例:字典排序 314

8.7.5 案例:字典过滤 316

8.7.6 案例:使用可变字典 317

8.8 案例实战:集合类型 318

8.8.1 使用NSSet 318

8.8.2 检测NSSet重复值 320

8.8.3 可变集合 322

8.8.4 计数集合 324

8.8.5 有序集合 325

8.9 小结 326

第9章 iOS应用开发核心 327

9.1 iOS应用架构 328

9.1.1 生命周期 328

9.1.2 主函数 328

9.1.3 应用委托 329

9.1.4 nib文件 329

9.1.5 事件处理周期 330

9.1.6 基本设置模式 331

9.2 运行环境处理机制 332

9.2.1 快速启动 332

9.2.2 安全处理 332

9.2.3 内存处理 333

9.2.4 节电处理 333

9.3 程序包 333

9.3.1 信息属性 334

9.3.2 程序图标和启动图像 337

9.4 定制行为 338

9.4.1 景观模式启动 338

9.4.2 与其他程序通信 338

9.4.3 URL模式 339

9.4.4 处理URL请求 340

9.4.5 偏好设置 341

9.4.6 关闭锁定 342

9.5 键盘管理 342

9.5.1 接收键盘通告 342

9.5.2 显示键盘 343

9.5.3 取消键盘 343

9.5.4 移动键盘 343

9.6 国际化 346

9.7 优化处理 347

9.7.1 不要阻塞主线程 347

9.7.2 有效使用内存 347

9.7.3 减少内存印迹 348

9.7.4 恰当分配内存 348

9.7.5 浮点运算 349

9.7.6 减少电力消耗 349

9.7.7 代码优化 350

9.8 小结 350

第10章 iOS开发入门 351

10.1 熟悉iOS项目 352

10.1.1 文件结构 352

10.1.2 新建xib界面文件 354

10.1.3 认识xib界面 356

10.1.4 添加控件 358

10.1.5 编辑控件属性 359

10.1.6 UIView属性 361

10.1.7 UILabel属性 362

10.2 iOS运行机制 365

10.2.1 了解MVC 365

10.2.2 入口函数 366

10.2.3 应用程序委托 367

10.2.4 视图控制器 369

10.3 事件处理机制 371

10.3.1 获取控件 372

10.3.2 事件处理 378

10.4 故事板 383

10.5 案例实战 385

10.5.1 动态更新文本 385

10.5.2 添加和删除控件 387

10.5.3 设计跟随手指的小球 390

10.5.4 设计应用项目图标 393

10.5.5 设计欢迎界面 395

10.6 小结 397

第11章 窗口和视图 398

11.1 认识窗口和视图 399

11.1.1 窗口 399

11.1.2 视图 399

11.1.3 视图控制器 400

11.2 视图架构 400

11.2.1 视图交互模型 400

11.2.2 视图渲染架构 402

11.2.3 Core Animation 402

11.2.4 视图的层 403

11.2.5 动画支持 403

11.2.6 视图坐标系统 403

11.2.7 边框、边界和中心 404

11.2.8 坐标系统变换 405

11.2.9 内容模式与比例缩放 405

11.2.10 自动尺寸调整 407

11.3 创建和管理视图层次 408

11.3.1 视图层次 408

11.3.2 创建视图对象 408

11.3.3 添加和移除子视图 409

11.3.4 坐标转换 411

11.3.5 标识视图 412

11.4 动态控制视图 412

11.4.1 实现视图动画 412

11.4.2 配置动画的参数 413

11.4.3 配置动画的委托 413

11.4.4 响应布局的变化 414

11.4.5 重画视图的内容 414

11.4.6 隐藏视图 415

11.5 创建定制视图 415

11.5.1 初始化定制视图 415

11.5.2 描画视图内容 416

11.5.3 响应事件 416

11.5.4 清理视图对象 417

11.6 小结 417

第12章 视图控制器 418

12.1 视图控制器基础 419

12.1.1 视图控制器的功能 419

12.1.2 屏幕、窗口和视图元素 419

12.1.3 视图管理机制 420

12.1.4 视图控制器分类 420

12.1.5 内容展示方式 422

12.1.6 视图控制器混合应用 423

12.2 视图控制器生命周期 424

12.2.1 初始化视图 424

12.2.2 加载和卸载视图 424

12.3 标准视图控制器 426

12.3.1 标准视图控制器概述 426

12.3.2 使用标准视图控制器 428

12.4 分割视图控制器 429

12.4.1 分割视图控制器概述 429

12.4.2 使用分割视图控制器 430

12.5 导航控制器 432

12.5.1 导航控制器概述 433

12.5.2 使用导航控制器 434

12.6 选项卡控制器 436

12.6.1 选项卡控制器概述 436

12.6.2 使用选项卡控制器 437

12.7 页视图控制器 438

12.7.1 页视图控制器概述 438

12.7.2 使用页视图控制器 440

12.8 小结 442

第13章 事件 443

13.1 触摸事件 444

13.1.1 触摸模型 444

13.1.2 触摸与事件 444

13.1.3 事件传递 445

13.1.4 事件响应过程 446

13.1.5 事件处理方法 447

13.1.6 案例:处理多点触摸事件 449

13.1.7 案例:检测碰擦手势 450

13.1.8 案例:处理复杂多点触摸序列 451

13.2 运动事件 452

13.3 复制、剪切和粘贴 453

13.3.1 认识粘贴板 453

13.3.2 数据表示 454

13.3.3 选择菜单 455

13.3.4 复制和剪切 456

13.3.5 粘贴 457

13.3.6 消除菜单 458

13.4 小结 459

第14章 使用控件(上) 460

14.1 UIKit概述 461

14.1.1 视图分类 461

14.1.2 应用界面构成 461

14.1.3 UIView视图 462

14.1.4 UIControl控件 462

14.2 按钮 464

14.2.1 添加按钮 464

14.2.2 案例:定义按钮 467

14.2.3 案例:配合使用标签和按钮 470

14.3 文本框 473

14.3.1 添加文本框 473

14.3.2 案例:设计登录表单 476

14.3.3 案例:关闭虚拟键盘 477

14.4 多行文本 480

14.4.1 添加多行文本框 481

14.4.2 案例:设计内容简介表单 484

14.4.3 案例:设计导航按钮控制虚拟键盘 487

14.4.4 案例:自定义虚拟键盘键 488

14.4.5 案例:自定义快捷编辑菜单 490

14.5 开关按钮 492

14.5.1 添加开关按钮 492

14.5.2 案例:使用开关按钮控制界面背景 493

14.6 分段控件 494

14.6.1 添加分段控件 494

14.6.2 案例:使用分段控件控制界面背景 496

14.6.3 案例:动态控制分段控件 497

14.7 滑块控件 500

14.7.1 添加滑块控件 500

14.7.2 案例:设计控件 502

14.7.3 案例:使用滑块控制透明度 503

14.8 图像控件 505

14.8.1 添加图像控件 506

14.8.2 案例:预览图片 507

14.8.3 案例:设计幻灯片 510

14.9 进度条 512

14.9.1 添加进度条 512

14.9.2 案例:设计进度条 513

14.10 活动指示器 515

14.10.1 添加活动指示器 515

14.10.2 案例:设计活动指示器和进度条 516

14.11 警告框 518

14.11.1 创建警告框 518

14.11.2 案例:设计警告框 522

14.12 操作表 524

14.13 日期选择器 528

14.13.1 添加日期选择器 528

14.13.2 案例:设计倒计时 530

14.14 通用选择器 532

14.14.1 添加通用选择器 532

14.14.2 案例:设计单列选择器 535

14.14.3 案例:自定义选择器视图 537

14.15 微调器 543

14.15.1 添加微调器 543

14.15.2 案例:设计微调器 544

14.16 网页控件 545

14.16.1 添加网页控件 545

14.16.2 案例:设计网页控件 546

14.17 小结 550

第15章 使用控件(下) 551

15.1 工具条 552

15.1.1 添加工具条 552

15.1.2 案例:设计工具条 555

15.2 搜索条 558

15.2.1 添加搜索条 558

15.2.2 案例:设计搜索条 562

15.2.3 案例:设计显示列表 566

15.3 导航条 570

15.3.1 使用导航条 570

15.3.2 案例:使用UINavigationController 576

15.4 表格控制器 581

15.4.1 表视图概述 582

15.4.2 添加表格 583

15.4.3 自定义单元格 590

15.4.4 案例:设计表格 592

15.4.5 案例:编辑单元格 595

15.4.6 案例:编辑表格 601

15.4.7 案例:表格分区 607

15.5 标签页 609

15.5.1 使用UITabBar 609

15.5.2 案例:设计标签页1 612

15.5.3 案例:设计标签页2 616

15.6 页控件 617

15.6.1 分页控件 617

15.6.2 案例:使用UIPageControl 618

15.6.3 案例:使用UIPageViewController 622

15.7 小结 627

第16章 移动绘图 628

16.1 基本概念 629

16.1.1 绘制周期 629

16.1.2 坐标系统 629

16.1.3 图形上下文 630

16.1.4 点和像素 630

16.1.5 颜色空间 630

16.1.6 图像格式 631

16.1.7 定制绘制 631

16.1.8 绘制性能 631

16.1.9 图像质量 632

16.2 Quartz 2D 632

16.2.1 页面 632

16.2.2 图形上下文 633

16.2.3 路径 635

16.2.4 颜色空间 636

16.2.5 变换 637

16.2.6 阴影 640

16.2.7 梯度 642

16.2.8 透明层 645

16.2.9 使用PDF文档 646

16.3 案例实战 651

16.3.1 案例:绘制图形 651

16.3.2 案例:绘制线条 653

16.3.3 案例:绘制文本 657

16.3.4 案例:绘制路径 661

16.3.5 案例:绘制曲线 665

16.3.6 案例:设计画板 667

16.4 小结 672

第17章 动画设计 673

17.1 OpenGL ES 674

17.1.1 OpenGLES概述 674

17.1.2 配置上下文 675

17.1.3 OpenGLES绘制 676

17.2 OpenGLES应用 680

17.2.1 项目的创建及设置 680

17.2.2 上下文的创建 681

17.2.3 渲染缓存的创建 681

17.2.4 帧缓存的创建 682

17.2.5 屏幕的清理 682

17.2.6 OpenGLView和应用程序委托关联 682

17.3 Core Animation 683

17.3.1 层和变换 685

17.3.2 树层结构 686

17.3.3 层上下文和层行为 687

17.3.4 动画 688

17.3.5 事务 690

17.3.6 动画层布局 690

17.4 案例实战 691

17.4.1 案例:设计过渡动画 691

17.4.2 案例:设计属性动画 695

17.4.3 案例:设计路径动画 700

17.5 小结 702

第18章 多媒体开发 703

18.1 使用声音 704

18.1.1 音频编解码 704

18.1.2 音频回放和录制格式 705

18.1.3 音频会话 705

18.1.4 播放音频 706

18.1.5 通过iPod媒体库访问接口播放媒体项 706

18.1.6 使用系统声音服务播放短声音及触发震动 707

18.1.7 通过AVAudioPlayer类轻松播放声音 708

18.1.8 用音频队列服务播放和控制声音 710

18.1.9 创建一个音频队列对象 710

18.1.10 控制回放音量 711

18.1.11 指示回放音量 712

18.1.12 同时播放多路声音 712

18.1.13 使用OpenAL播放和定位声音 712

18.1.14 录制音频 712

18.1.15 解析音频流 714

18.1.16 iOS系统上的音频单元支持 715

18.1.17 iPhone音频的最佳实践 715

18.2 使用视频 716

18.2.1 录制视频 716

18.2.2 播放视频文件 717

18.3 案例实战 718

18.3.1 案例:播放音效 718

18.3.2 案例:播放音乐 719

18.3.3 案例:播放视频 723

18.3.4 案例:录制音频 724

18.3.5 案例:录制视频 728

18.4 小结 732

第19章 设备管理 733

19.1 硬件检测 734

19.2 配件通信 734

19.2.1 配件基础 734

19.2.2 声明协议 735

19.2.3 连接配件 735

19.2.4 监控配件 736

19.3 使用加速计 737

19.3.1 选择更新频率 738

19.3.2 分离重力数据 738

19.3.3 分离实时运动数据 738

19.3.4 获取设备方向 739

19.4 使用位置和方向 739

19.4.1 获取当前位置 739

19.4.2 获取方向事件 741

19.5 使用地图 742

19.5.1 添加地图视图 742

19.5.2 缩放和移动地图 743

19.5.3 显示用户当前位置 743

19.5.4 坐标和像素切换 744

19.5.5 显示注解 744

19.5.6 添加和移除注解对象 744

19.5.7 定义注解视图 745

19.5.8 创建注解视图 745

19.5.9 处理注解视图中的事件 746

19.5.10 获取地标信息 749

19.6 使用照相机 749

19.7 使用照片库 751

19.8 使用邮件 751

19.9 案例实战 753

19.9.1 案例:管理通信设备 753

19.9.2 案例:获取加速度、陀螺仪、磁场数据 754

19.9.3 案例:获取移动数据 757

19.9.4 案例:获取位置信息 759

19.9.5 案例:地图定位 761

19.10 小结 765

第20章 文件和数据操作 766

20.1 文件操作 767

20.1.1 iPhone常用目录 767

20.1.2 获取程序目录路径 768

20.1.3 文件更新 769

20.1.4 文件备份和恢复 769

20.2 数据读写 770

20.2.1 文件数据的读写 770

20.2.2 属性列表数据的读写 770

20.2.3 用归档器对数据进行读写 771

20.2.4 将数据写到Documents目录 772

20.2.5 从Documents目录对数据进行读取 772

20.2.6 保存状态信息 773

20.3 SQLite 773

20.3.1 数据类型 773

20.3.2 常用函数及返回编码 774

20.3.3 操作数据库 776

20.3.4 创建表 777

20.3.5 操作数据语句 778

20.3.6 数据查询 778

20.4 案例实战 779

20.4.1 案例:使用属性列表设计备忘录 779

20.4.2 案例:使用SQLite设计单词本 783

20.5 小结 787

第21章 综合案例:抢扑克 788

21.1 设计提示框交互项目 789

21.1.1 使用UIAlertView 790

21.1.2 保存时间值 790

21.1.3 添加图像文件 791

21.2 设计时间差视图控制器 792

21.2.1 建立NSData、UIImageView对象和IBAction方法 792

21.2.2 定义UIAlertView和游戏控件属性 792

21.3 构建扑克游戏控件 795

21.3.1 添加扑克游戏控件 795

21.3.2 设置游戏背景视图检查器 796

21.3.3 设置游戏扑克图像检查器 798

21.3.4 设置游戏透明按钮检查器 799

21.4 小结 802

第22章 综合案例:电子琴 803

22.1 创建音频工具项目 804

22.1.1 设置屏幕横向显示 804

22.1.2 添加背景图像和声音文件 806

22.1.3 添加音频工具框架 807

22.1.4 AudioToolbox框架的作用 808

22.2 定义电子琴的交互方法 809

22.2.1 建立音频文件播放方法和播放动态 809

22.2.2 定义琴键属性值 810

22.3 构建电子琴界面 813

22.3.1 设置电子琴视图背景 813

22.3.2 添加控件 813

22.3.3 设置电子琴背景图检查器 814

22.3.4 设置电子琴键的检查器 816

22.4 小结 821

第23章 综合案例:吃豆人 822

23.1 创建Utility Application图像移动按钮项目 823

23.1.1 添加移动图像和声音文件 824

23.1.2 添加支持动画和声音文件的框架 825

23.2 移动图像操作的视图控制器 826

23.2.1 建立UIImageView、按钮方向操作和音频播放方法 826

23.2.2 定义图像属性值和方向操作交互 827

23.3 在Interface Builder中构建吃豆人主页 830

23.3.1 构建吃豆人图像和背景图像 830

23.3.2 构建吃豆人移动按钮 834

23.4 在Interface Builder中构建吃豆人简介副页 838

23.5 小结 839

第24章 综合案例:打砖块 840

24.1 创建Utility Application项目 841

24.1.1 添加打砖块的图像和声音文件 841

24.1.2 添加框架文件 842

24.1.3 添加UIImageView控制器 843

24.1.4 自定义UIImageView视图检查器 845

24.2 打砖块的MainViewController交互方法 846

24.2.1 建立游戏分数控件、操作交互和音频播放方法 846

24.2.2 定义游戏的操作和属性值 848

24.3 在Interface Builder内构建BoardView 856

24.3.1 添加NSObject 856

24.3.2 设置NSObject身份 857

24.4 在Interface Builder中构建打砖块游戏主页 858

24.5 在Interface Builder中构建打砖块简介副页 867

24.6 小结 868