京东畅销书

图书介绍

iOS应用开发从入门到精通

  • 王立娟,张月霞,吴起立,韩海玲 著
  • 出版社: 人民邮电出版社
  • ISBN:9787115346636
  • 版次:01
  • 商品编码:11477298
  • 包装:平装
  • 开本:16开
  • 出版时间:2014-05-01
  • 页数:587
  • 正文语种:中文

PDF下载

高速下载 普通下载

赞助商链接

图书目录

目 录

第一部分 必备技术篇

第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 Objective-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章 Cocoa Touch 56
3.1 Cocoa Touch基础 56
3.1.1  Cocoa Touch概述 56
3.1.2 Cocoa Touch中的框架 57
3.1.3  Cocoa Touch的优势 57
3.2 iPhone的技术层 58
3.2.1 Cocoa Touch 层 58
3.2.2 多媒体层 62
3.2.3 核心服务层 63
3.2.4 核心OS层 64
3.3 Cocoa Touch中的框架 64
3.3.1 Core Animation(图形处理)框架 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 View Application 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

第二部分 控件实战篇

第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与UISwitch控件 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 活动指示器(UIActivityIndicatorView) 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

第三部分 核心应用篇

第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 实战演练——使用Interface Builder创建可旋转和调整大小的界面 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 Media Player框架中的类 414
22.1.2 使用电影播放器 415
22.1.3 处理播放结束 416
22.1.4 使用多媒体选择器 416
22.1.5 使用音乐播放器 417
22.1.6 实战演练——使用Media Player播放视频 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 Core Location框架 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

第四部分 提高篇

第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)和托管对象模型(Managed Object Model) 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

查看全部 ↓

精品推荐