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

  • 购买积分:17 如何计算积分?
  • 作  者:王立娟,张月霞,吴起立,韩海玲编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2014
  • ISBN:9787115346636
  • 页数:587 页
图书介绍:本书详细讲解了iOS开发中的高级内容,包括数据存储、触摸处理、硬件识别、通用程序、推服务和多线程等知识,书中通过具体的实例讲解了iOS在这些高级应用中的使用过程。为了使读者学以致用,并通过许多现实开发中的案例为主线,把所学知识通过案例贯穿起来。

第一部分 必备技术篇 2

第1章 iOS开发入门 2

1.1 iOS系统介绍 2

1.2 让世界疯狂的iPhone 4

1.3 加入iOS开发团队 4

1.4 搭建开发环境 6

1.4.1 Xcode介绍 7

1.4.2 iOS SDK介绍 7

1.4.3 下载并安装Xcode 8

1.5 使用Xcode开发环境 10

1.5.1 使用Xcode创建程序的基本步骤 10

1.5.2 Xcode的基本功能 11

1.6 启动模拟器 18

1.7 iOS的常用开发框架 20

1.7.1 Foundation框架简介 20

1.7.2 Cocoa框架简介 22

1.8 常用的第三方工具 22

1.8.1 iPhone Simulator 23

1.8.2 Interface Builder 23

第2章 Objective-C语言基础 25

2.1 最耀眼的新星 25

2.1.1 看一份统计数据 25

2.1.2 究竟何为Objective-C 26

2.1.3 为什么选择Objective-C 26

2.2 Obiective-C的优点及缺点 27

2.3 一个简单的例子 27

2.3.1 使用Xcode编辑代码 28

2.3.2 基本元素介绍 29

2.4 数据类型和常量 33

2.4.1 int类型 34

2.4.2 float类型 35

2.4.3 double类型 35

2.4.4 char类型 36

2.4.5 字符常量 37

2.4.6 id类型 38

2.4.7 限定词 40

2.4.8 总结基本数据类型 41

2.5 字符串 42

2.6 算数表达式 42

2.6.1 运算符的优先级 42

2.6.2 整数运算和一元负号运算符 44

2.6.3 模运算符 45

2.6.4 整型值和浮点值的相互转换 46

2.6.5 类型转换运算符 46

2.7 表达式 47

2.7.1 常量表达式 47

2.7.2 条件运算符 47

2.7.3 sizeof运算符 48

2.7.4 关系运算符 49

2.7.5 强制类型转换运算符 49

2.8 位运算符 50

2.8.1 按位与运算符 50

2.8.2 按位或运算符 51

2.8.3 按位异或运算符 52

2.8.4 一次求反运算符 52

2.8.5 向左移位运算符 53

2.8.6 向右移位运算符 53

2.8.7 总结Objective-C的运算符 54

第3章 Cocoaa Touch 56

3.1 CocoaTouch基础 56

3.1.1 Cocoa Touch概述 56

3.1.2 CocoaTouch中的框架 57

3.1.3 CocoaTouch的优势 57

3.2 iPhone的技术层 58

3.2.1 CocoaTouch层 58

3.2.2 多媒体层 62

3.2.3 核心服务层 63

3.2.4 核心OS层 64

3.3 CocoaTouch中的框架 64

3.3.1 CoreAnimation(图形处理)框架 65

3.3.2 Core Audio(音频处理)框架 65

3.3.3 Core Data(数据处理)框架 66

3.4 iOS程序的生命周期 67

3.4.1 从一段代码看iOS程序的生命周期 67

3.4.2 iOS程序生命周期的原理 68

3.4.3 UIViewController的生命周期 70

3.5 Cocoa中的类 72

3.5.1 核心类 72

3.5.2 数据类型类 75

3.5.3 UI界面类 78

3.6 国际化 81

3.7 使用Xcode学习iOS框架 82

3.7.1 使用Xcode文档 82

3.7.2 快速帮助 83

第4章 Xcode Interface Builder界面开发 85

4.1 Interface Builder基础 85

4.1.1 Interface Builder的作用 85

4.1.2 Interface Builder的新特色 85

4.2 Interface Builder采用的方法 87

4.3 Interface Builder的故事板 87

4.3.1 推出的背景 87

4.3.2 故事板的文档大纲 88

4.3.3 文档大纲的区域对象 89

4.4 创建一个界面 90

4.4.1 对象库 90

4.4.2 将对象加入到视图中 91

4.4.3 使用IB布局工具 91

4.5 定制界面外观 94

4.5.1 使用属性检查器 94

4.5.2 设置辅助功能属性 94

4.5.3 测试界面 95

4.6 将界面连接到代码 96

4.6.1 打开项目 96

4.6.2 输出口和操作 97

4.6.3 创建到输出口的连接 97

4.6.4 创建到操作的连接 99

第5章 使用Xcode编写MVC程序 101

5.1 MVC模式基础 101

5.1.1 诞生背景 101

5.1.2 分析结构 101

5.1.3 MVC的特点 102

5.1.4 使用MVC实现程序设计的结构化 102

5.2 Xcode中的MVC 103

5.2.1 原理 103

5.2.2 模板就是给予MVC的 104

5.3 在Xcode中实现MVC 104

5.3.1 视图 104

5.3.2 视图控制器 105

5.4 数据模型 106

5.5 使用模板Single ViewApplication 107

5.5.1 创建项目 107

5.5.2 规划变量和连接 111

5.5.3 设计界面 113

5.5.4 创建并连接输出口和操作 114

5.5.5 实现应用程序逻辑 117

5.5.6 生成应用程序 118

第二部分 控件实战篇 120

第6章 文本框和文本视图 120

6.1 文本框(UITextField) 120

6.1.1 文本框基础 120

6.1.2 实战演练——在屏幕中显示一个文本输入框 120

6.1.3 实战演练——设置文本输入框的边框线样式 121

6.1.4 实战演练——设置文本输入框的字体和颜色 122

6.1.5 实战演练——在文本输入框中设置一个清空按钮 122

6.1.6 实战演练——为文本输入框设置背景图片 123

6.2 文本视图(UITextView) 124

6.2.1 文本视图基础 124

6.2.2 实战演练——在屏幕中换行显示文本 125

6.2.3 实战演练——在屏幕中显示可编辑的文本 126

6.2.4 实战演练——设置屏幕中文本的对齐方式 128

第7章 按钮和标签 130

7.1 标签(UILabel) 130

7.1.1 标签的属性 130

7.1.2 实战演练——使用标签显示一段文本 130

7.1.3 实战演练——在屏幕中显示指定字体和指定大小的文本 133

7.1.4 实战演练——设置屏幕中文本的对齐方式 133

7.2 按钮(UIButton) 134

7.2.1 按钮基础 134

7.2.2 实战演练——按下按钮后触发一个事件 135

7.2.3 实战演练——在屏幕中显示不同的按钮 136

7.3 联合使用文本框、文本视图和按钮 137

7.3.1 创建项目 137

7.3.2 设计界面 138

7.3.3 创建并连接输出口和操作 143

7.3.4 实现按钮模板 144

7.3.5 隐藏键盘 146

7.3.6 实现应用程序逻辑 148

7.3.7 总结执行 148

第8章 滑块、步进和图像 151

8.1 滑块控件(UISlider) 151

8.1.1 使用Slider控件的基本方法 151

8.1.2 实战演练——滑动滑块时显示对应的值 152

8.1.3 实战演练——滑动滑块控制文字的大小 153

8.1.4 实战演练——实现各种各样的滑块 154

8.2 步进控件(UIStepper) 160

8.3 图像视图控件(UIImageView) 161

8.3.1 UIImageView的常用操作 161

8.3.2 实战演练——在屏幕中显示图像 164

8.3.3 实战演练——在屏幕中绘制一幅图像 165

8.3.4 实战演练——在屏幕中绘图时设置透明度 166

第9章 使用开关控件和分段控件 168

9.1 开关控件(UISwitch) 168

9.1.1 开关控件基础 168

9.1.2 实战演练——改变UISwitch的文本和颜色 168

9.1.3 实战演练——显示具有开关状态的开关 170

9.1.4 实战演练——联合使用UISlider与U1Switch控件 172

9.2 分段控件 173

9.2.1 分段控件的属性和方法 173

9.2.2 实战演练——使用UISegmentedControl控件 175

9.2.3 实战演练——选择一个分段卡后可以改变屏幕的背景颜色 177

9.2.4 实战演练——设置分段卡的显示样式 178

9.2.5 实战演练——设置不显示分段卡的选择状态 178

9.2.6 实战演练——改变分段卡的显示颜色 179

9.2.7 实战演练——选择某个选项时在此分段卡中显示一幅图片 180

第10章 Web视图控件和可滚动视图控件 181

10.1 Web视图(UIWebView) 181

10.1.1 Web视图基础 181

10.1.2 实战演练——在屏幕中显示指定的网页 182

10.1.3 实战演练——控制屏幕中的网页 183

10.1.4 实战演练——在网页中加载显示PDF、Word和JPEG图片 185

10.1.5 实战演练——在网页中加载HTML代码 186

10.1.6 实战演练——在网页中实现触摸处理 187

10.2 可滚动的视图(UIScrollView) 190

10.2.1 UIScrollView的基本用法 190

10.2.2 实战演练——使用可滚动视图控件 194

10.3 联合使用开关、分段控件和Web视图控件 197

10.3.1 创建项目 197

10.3.2 设计界面 198

10.3.3 创建并连接输出口和操作 201

10.3.4 实现应用程序逻辑 202

10.3.5 生成应用程序 205

第11章 提醒和操作表 206

11.1 提醒视图(UIAlertView) 206

11.1.1 UIAlertView基础 206

11.1.2 不同的提醒效果 209

11.1.3 实战演练——实现一个自定义提醒对话框 210

11.2 操作表(UIActionSheet) 212

11.2.1 操作表的基本用法 212

11.2.2 响应操作表 213

11.2.3 使用UIActionSheet的流程 214

第12章 工具栏、日期选择器 217

12.1 工具栏(UIToolbar) 217

12.1.1 工具栏基础 217

12.1.2 修改UIToolBar的背景颜色 218

12.1.3 实战演练——联合使用UIToolBar和UIView 219

12.1.4 实战演练——实现一个播放、暂停按钮 221

12.2 选择器视图(UIPickerView) 223

12.2.1 选择器视图基础 223

12.2.2 实战演练——实现两个UIPickerView控件间的数据依赖 225

12.2.3 实战演练——自定义一个选择器 228

12.3 日期选择(UIDatePicker) 236

12.3.1 UIDatePicker基础 236

12.3.2 实战演练——使用UIDatePicker 238

12.3.3 实战演练——实现一个日期选择器 240

第13章 表视图(UITable) 248

13.1 表视图基础 248

13.1.1 表视图的外观 248

13.1.2 表单元格 248

13.1.3 添加表视图 249

13.1.4 UITableView详解 252

13.2 实战演练 254

13.2.1 实战演练——拆分表视图 255

13.2.2 实战演练——列表显示18条数据 257

13.2.3 实战演练——分段显示列表中的数据 258

13.2.4 实战演练——删除单元格 259

13.2.5 实战演练——自定义UITableViewCell 261

第14章 活动指示器、进度条和检索条 265

14.1 活动指示器(UIActivitylndicatorView) 265

14.1.1 活动指示器基础 265

14.1.2 实战演练——实现一个播放器的活动指示器 265

14.2 进度条(UIProgressView) 267

14.2.1 进度条基础 268

14.2.2 实战演练——实现一个蓝色进度条效果 268

14.2.3 实战演练——在进度条中显示进度百分比 269

14.3 检索条(UISearchBar) 270

14.3.1 检索条基础 270

14.3.2 实战演练——在屏幕中实现一个检索框效果 271

14.3.3 实战演练——实现一个实时显示检索框效果 272

14.3.4 实战演练——设置检索框的背景颜色 273

14.3.5 实战演练——在检索框中添加一个书签按钮 274

14.3.6 实战演练——在检索框中添加一个范围条 275

第15章 UIView详解 277

15.1 UIView基础 277

15.1.1 UIView的结构 277

15.1.2 视图架构 279

15.1.3 视图层次和子视图管理 280

15.1.4 视图绘制周期 280

15.2 实战演练——设置UIView的位置和尺寸 281

15.3 实战演练——隐藏指定的UIView区域 282

15.4 实战演练——改变背景颜色 283

15.5 实战演练——实现背景透明 285

15.6 实战演练——定位屏幕中的图片 286

15.7 实战演练——旋转和缩放视图 288

第16章 视图控制器 291

16.1 视图控制器(UIViewController)简介 291

16.1.1 UIViewController基础 291

16.1.2 实战演练——实现不同界面之间的跳转处理 292

16.2 导航控制器(UINavigationController) 293

16.2.1 导航栏、导航项和栏按钮项 294

16.2.2 UINaVigationController详解 294

16.2.3 在故事板中使用导航控制器 297

16.2.4 导航控制器UINavigationController的流程 299

16.2.5 实战演练——实现不同视图的切换 300

16.2.6 实战演练——通过列表实现不同界面之间的跳转 302

16.2.7 实战演练——使用导航控制器展现三个场景 304

16.3 选项卡栏控制器(UITabBarController)简介 308

16.3.1 选项卡栏和选项卡栏项 309

16.3.2 在选项卡栏控制器管理的场景之间共享数据 311

16.3.3 UITabBarController使用详解 311

16.3.4 实战演练——实现不同场景的切换 314

16.3.5 实战演练——使用选项卡栏控制器构建3个场景 317

第三部分 核心应用篇 324

第17章 实现多场景和弹出框 324

17.1 多场景故事板 324

17.1.1 多场景故事板基础 324

17.1.2 创建多场景项目 325

17.1.3 实战演练——使用第二个视图来编辑第一个视图中的信息 328

17.1.4 实战演练——实现多个视图之间的切换 332

第18章 iPad弹出框和分割视图控制器 337

18.1 iPad弹出框 337

18.1.1 创建弹出框 337

18.1.2 创建弹出切换 337

18.1.3 手工显示弹出框 339

18.1.4 响应用户关闭弹出框 339

18.1.5 以编程方式创建并显示弹出框 341

18.1.6 实战演练——使用弹出框更新内容 342

18.2 探索分割视图控制器 344

18.2.1 分割视图控制器基础 345

18.2.2 表视图实战演练 347

第19章 界面旋转、大小和全屏处理 352

19.1 启用界面旋转 352

19.2 设计可旋转和调整大小的界面 353

19.2.1 自动旋转和自动调整大小 353

19.2.2 调整框架 353

19.2.3 切换视图 353

19.2.4 实战演练——使用InterfaceBuilder创建可旋转和调整大小的界面 353

19.2.5 实战演练——在旋转时调整控件 356

19.2.6 实战演练——旋转时切换视图 360

第20章 图形、图像、图层和动画 363

20.1 图形处理 363

20.1.1 iOS的绘图机制 363

20.1.2 实战演练——在屏幕中绘制一个三角形 364

20.2 图像处理 366

20.2.1 实战演练——实现颜色选择器/调色板功能 367

20.2.2 实战演练——实现滑动颜色选择器/调色板功能 368

20.3 图层 370

20.3.1 视图和图层 371

20.3.2 实战演练——在屏幕中实现3个重叠的矩形 371

20.3.3 实战演练——实现图层的变换 372

20.3.4 实战演练——在指南针上实现某种“页面翻转”的效果 375

20.4 实现动画 378

20.4.1 UIImageView动画 378

20.4.2 视图动 UIView 378

20.4.3 Core Animation详解 382

20.4.4 实战演练——联合使用图像动画、滑块和步进控件 386

20.4.5 实战演练——实现“烟花烟花满天飞”效果 398

第21章 声音服务 400

21.1 访问声音服务 400

21.1.1 声音服务基础 400

21.1.2 实战演练——播放声音文件 401

21.2 提醒和振动 405

21.2.1 播放提醒音 405

21.2.2 实战演练——实用iOS的提醒功能 405

第22章 多媒体应用 414

22.1 Media Player框架 414

22.1.1 MediaPlayer框架中的类 414

22.1.2 使用电影播放器 415

22.1.3 处理播放结束 416

22.1.4 使用多媒体选择器 416

22.1.5 使用音乐播放器 417

22.1.6 实战演练——使用MediaPlayer播放视频 418

22.2 AV Foundation框架 420

22.2.1 准备工作 420

22.2.2 使用AV音频播放器 421

22.2.3 使用AV录音机 421

22.2.4 使用AV Foundation框架播放音频的流程 422

22.3 图像选择器(UIImagePickerController) 423

22.3.1 使用图像选择器 424

22.3.2 图像选择器控制器委托 424

22.3.3 UIImagePickerController在iPhone和iPad上的区别 425

22.3.4 用UIImagePickerController调用系统照相机 426

22.3.5 防止UIImagePickerController“坏死” 426

22.4 一个多媒体的应用程序 427

22.4.1 实现概述 427

22.4.2 创建项目 427

22.4.3 设计界面 428

22.4.4 创建并连接输出口和操作 429

22.4.5 实现电影播放器 429

22.4.6 实现音频录制和播放 431

22.4.7 使用照片库和相机 435

22.4.8 实现Core Image滤镜 436

22.4.9 访问并播放音乐库 437

第23章 定位处理 441

23.1 CoreLocation框架 441

23.1.1 Core Location基础 441

23.1.2 使用流程 441

23.2 获取位置 444

23.2.1 位置管理器委托 444

23.2.2 处理定位错误 445

23.2.3 位置精度和更新过滤器 446

23.2.4 获取航向 446

23.3 地图功能 447

23.3.1 Map Kit基础 447

23.3.2 为地图添加标注 448

23.4 实战演练——创建一个支持定位的应用程序 449

23.4.1 创建项目 450

23.4.2 设计视图 451

23.4.3 创建并连接输出口 451

23.4.4 实现应用程序逻辑 452

23.4.5 生成应用程序 453

23.5 实战演练——在屏幕中实现一个定位系统 454

23.5.1 设计界面 454

23.5.2 具体编码 455

23.6 实战演练——使用谷歌地图 457

23.6.1 添加打开地图功能 458

23.6.2 升级视图控制器 459

23.6.3 添加自定义地图标注对象 461

第24章 和互联网接轨 463

24.1 UIWebView控件 463

24.1.1 UIWebView基础 463

24.1.2 实战演练——显示指定的网页 464

24.1.3 实战演练—控制屏幕中的网页 465

24.1.4 实战演练——加载显示PDF、Word和JPEG图片 466

24.1.5 实战演练——在网页中加载HTML代码 468

24.1.6 实战演练——在网页中实现触摸处理 468

24.2 实现一个简单的网页浏览器 471

第四部分 提高篇 476

第25章 读写应用程序数据 476

25.1 iOS应用程序和数据存储 476

25.2 用户默认设置 477

25.3 设置束 478

25.3.1 设置束基础 478

25.3.2 实战演练——通过隐式首选项实现一个手电筒程序 479

25.4 直接访问文件系统 482

25.4.1 应用程序数据的存储位置 483

25.4.2 获取文件路径 483

25.4.3 读写数据 484

25.4.4 读取和写入文件 484

25.4.5 通过plist文件存取文件 486

25.4.6 保存和读取文件 487

25.4.7 文件共享和文件类型 488

25.4.8 传递一个文档 488

25.4.9 实战演练——实现一个收集用户信息的程序 489

25.5 iCloud存储 492

25.6 使用SQLite3存储和读取数据 493

25.7 核心数据 497

25.7.1 Core Data基础 497

25.7.2 Core Data基本架构 499

25.7.3 托管对象(Managed Objects)和托管对象模型(ManagedObiectModel) 501

25.7.4 实战演练——在iOS中使用CoreData 502

25.8 互联网数据 505

25.8.1 XML和JSON 505

25.8.2 实战演练——使用JSON获取网站中的照片信息 507

第26章 触摸和手势识别 511

26.1 多点触摸和手势识别基础 511

26.2 触摸处理 512

26.2.1 触摸事件和视图 512

26.2.2 实战演练——触摸屏幕中的按钮 517

26.2.3 实战演练——同时滑动屏幕中的两个滑块 518

26.2.4 实战演练——触摸屏幕检测 519

26.2.5 实战演练——触摸屏幕中的文字标签 520

26.3 手势处理 521

26.3.1 手势处理基础 521

26.3.2 实战演练——实现一个手势识别器 527

第27章 和硬件之间的操作 534

27.1 加速计和陀螺仪 534

27.1.1 加速计基础 534

27.1.2 陀螺仪 538

27.1.3 实战演练——检测倾斜和旋转 539

27.2 访问朝向和运动数据 544

27.2.1 两种方法 544

27.2.2 实战演练——检测朝向演练 545

第28章 地址簿、邮件和Twitter 548

28.1 地址簿 548

28.1.1 框架Address Book UI 548

28.1.2 框架Address Book 550

28.2 电子邮件 550

28.3 使用Twitter发送推特信息 551

28.4 实战演练——联合使用地址簿、电子邮件、Twitter和地图 552

28.4.1 创建项目 552

28.4.2 设计界面 553

28.4.3 创建并连接输出口和操作 553

28.4.4 实现地址簿逻辑 554

28.4.5 实现地图逻辑 556

28.4.6 实现电子邮件逻辑 558

28.4.7 实现Twitter逻辑 559

28.4.8 生成应用程序 559

第29章 开发通用的应用程序 560

29.1 通用应用程序 560

29.1.1 图标文件 561

29.1.2 启动图像 562

29.2 实战演练——使用通用程序模板创建通用应用程序 562

29.2.1 创建项目 562

29.2.2 设计界面 563

29.2.3 创建并连接输出口 563

29.2.4 实现应用程序逻辑 563

29.3 实战演练——使用视图控制器 564

29.3.1 创建项目 565

29.3.2 设计界面 566

29.3.3 创建并连接输出口 566

29.3.4 实现应用程序逻辑 566

29.3.5 生成应用程序 566

29.4 实战演练——使用多个目标 567

29.4.1 将iPhone目标转换为iPad目标 567

29.4.2 将iPad目标转换为iPhone目标 568

29.5 实战演练——创建基于“主—从”视图的应用程序 569

29.5.1 创建项目 569

29.5.2 调整iPad界面 570

29.5.3 调整iPhone界面 571

29.5.4 实现应用程序数据源 572

29.5.5 实现主视图控制器 574

29.5.6 实现细节视图控制器 575

29.5.7 生成应用程序 576

第30章 推服务和多线程 577

30.1 推服务 577

30.1.1 推服务简介 577

30.1.2 推服务的机制 578

30.2 多线程 578

30.2.1 多线程基础 578

30.2.2 iOS中的多线程 580

30.2.3 线程的同步与锁 584

30.2.4 线程的交互 585

30.3 ARC机制 586

30.3.1 ARC概述 586

30.3.2 ARC中的新规则 587