第1篇 基础篇 2
第1章 iOS系统基础 2
1.1 iOS系统介绍 2
1.1.1 iOS发展史 2
1.1.2全新的版本——iOS 7 3
1.2从iPhone到iPad 4
1.2.1让世界疯狂的iPhone 4
1.2.2改变世界的iPad 5
1.3 iOS的常用开发框架 5
1.3.1 Foundation框架简介 5
1.3.2 Cocoa框架简介 7
第2章 搭建开发环境 9
2.1开发前的准备——加入iOS开发团队 9
2.2安装Xcode 11
2.2.1 Xcode介绍 12
2.2.2 iOS SDK介绍 12
2.2.3下载并安装Xcode 14
2.3创建一个Xcode项目并启动模拟器 17
2.4在iOS设备中测试网页 21
第3章 HTML、CSS和JavaScript 24
3.1 HTML简介 24
3.1.1 HTML初步 24
3.1.2字体格式设置 25
3.1.3使用标示标记 28
3.1.4使用区域和段落标记 29
3.1.5使用表格标记 31
3.1.6使用表单标记 34
3.2 CSS技术基础 38
3.2.1基本语法 38
3.2.2 CSS编码规范 39
3.3 JavaScript技术基础 40
3.3.1 JavaSctipt概述 41
3.3.2 JavaScript运算符 42
3.3.3 JavaScript循环语句 43
3.3.4 JavaScript函数 45
3.3.5 JavaScript事件 47
第4章 创建移动Web 50
4.1创建能在通用设备上运行的网站 50
4.1.1确定应用程序类型 50
4.1.2使用CSS改善HTML外观 51
4.1.3加入移动<meta>标记 53
4.1.4优化网站 54
4.2将站点升级至HTML 5 54
4.2.1确定何时升级和升级的具体方式 54
4.2.2升级到HTML 5的步骤 56
4.2.3将HTML5特性作为额外内容添加至网站 57
4.2.4 HTML 5为移动Web提供的服务 57
4.3将Web程序迁移到移动设备 58
4.3.1选择Web编辑器 58
4.3.2测试应用程序 58
4.3.3移动网站的内容特点 59
4.3.4为移动设备调整可视化的设计 59
4.3.5 HTML 5及CSS 3检测 60
第2篇 HTML 5技术篇 64
第5章 HTML 5在移动设备中 64
5.1把握未来的风向标 64
5.1.1漫长的发展历程 64
5.1.2无与伦比的用户体验 64
5.2在iOS设备中使用HTML 5 65
5.2.1使用HTML 5设计移动网站时需要考虑的问题 66
5.2.2主流移动设备的屏幕分辨率 66
5.2.3使用标准的HTML、 CSS和JavaScript技术 66
5.3使用HTML 5设计移动网站前的准备 67
5.3.1为移动网站准备专用的域名 67
5.3.2准备测试环境 67
第6章 HTML 5的整体架构 69
6.1设置网页头部元素 69
6.1.1设置文档类型 69
6.1.2设置所有链接的默认地址或默认目标 70
6.1.3链接标记 71
6.1.4设置有关页面的元信息 72
6.1.5定义客户端脚本 73
6.1.6定义HTML文档的样式信息 73
6.1.7设置页面标题 74
6.2设置页面正文 75
6.3注释 76
6.4和页面结构相关的新元素 77
6.4.1定义区段的标记 77
6.4.2定义独立内容的标记 78
6.4.3定义导航链接标记 78
6.4.4定义所处内容之外的内容 79
6.4.5定义页脚内容的标记 80
第7章 体验基本元素 81
7.1在页面中输出一段文字 81
7.2对页面进行分栏设计 82
7.3使用details标记元素实现交互 83
7.3.1常用属性 83
7.3.2实现下拉弹出效果 84
7.4使用summary标记元素实现交互 85
7.5使用menu标记元素 86
7.5.1属性介绍 86
7.5.2实现右键菜单功能 87
7.6使用command标记元素 89
7.7使用progress标记元素 90
7.8使用meter标记元素 92
7.9使用树节点标记元素 94
7.9.1 section元素 94
7.9.2 nav元素 94
7.9.3 hgroup元素 94
7.10使用分组标记元素 96
7.10.1 ul元素 96
7.10.2 ol元素 97
7.11使用文本层次语义标记 98
7.11.1 time元素 98
7.11.2 mark元素 99
7.11.3 cite元素 99
7.12使用图片标记元素 100
7.13使用框架标记元素 101
7.14使用object标记元素 102
第8章 使用表单元素 104
8.1表单元素的类型 104
8.1.1 email类型 104
8.1.2 url类型 105
8.1.3 number类型 106
8.1.4 range类型 107
8.1.5 Date Pickers(数据检出器) 109
8.1.6 search类型 111
8.2表单元素的属性 112
8.2.1记住表单中的数据 112
8.2.2验证表单中输入的数据是否合法 114
8.2.3在文本框中显示提示信息 115
8.2.4验证文本框中的内容是否为空 116
8.2.5开启表单的自动完成功能 117
8.2.6重写表单中的某些属性 118
8.2.7自动设置表单中传递数字 119
8.2.8在表单中选择多个上传文件 119
8.3新的表单元素 120
8.3.1在表单中自动提示输入文本 120
8.3.2一个简单的乘法计算器 122
8.3.3在网页中生成一个密钥 123
第9章 音频和视频应用 124
9.1处理视频 124
9.1.1使用<video>标记 124
9.1.2 <video>标记的属性 125
9.2处理音频 128
9.2.1 <audio>标记 128
9.2.2 <audio>标记的属性 129
9.3高级应用 131
9.3.1为播放的视频准备一幅素材图片 131
9.3.2显示加载视频的状态 132
9.3.3出错时在播放屏幕中显示出错信息 133
9.3.4检测浏览器是否支持这个媒体类型 135
9.3.5显示视频的播放状态 137
9.3.6显示播放视频的时间信息 138
第10章 在网页中绘图 141
10.1使用<canvas>标记 141
10.2 HTML DOM Canvas对象 142
10.3 HTML 5绘图实践 143
10.3.1在指定位置绘制指定角度的相交线 143
10.3.2绘制一个圆 144
10.3.3在画布中显示一幅指定的图片 145
10.3.4绘制一个指定大小的正方形 145
10.3.5绘制一个带边框的矩形 146
10.3.6绘制一个渐变图形 148
10.3.7绘制不同的圆形 150
10.3.8绘制一个渐变圆形 153
10.3.9移动、缩放和旋转网页中的圆形 155
10.3.10使用组合的方式显示图形 156
10.3.11使用不同的方式平铺指定的图像 158
10.3.12切割指定的图像 160
第11章 数据存储 162
11.1 Web存储 162
11.1.1 Web存储的定义 162
11.1.2 Web存储的影响 162
11.2 HTML 5中的两种存储方式 163
11.2.1使用localStorage方式 163
11.2.2使用sessionStorage方式 164
11.3数据存储对象 165
11.3.1使用sessionStorage对象 165
11.3.2使用localStorage对象 167
11.3.3使用localStorage对象中的clear()方法 170
11.3.4使用localStorage对象中的属性 172
11.4 WebDB存储方式 173
11.4.1 WebDB存储基础 173
11.4.2执行事务操作 174
11.4.3执行SQL语句 175
11.5实现一个日记式事务提醒系统 177
第3篇 jQuery Mobile技术篇 180
第12章jQuery Mobile基础 180
12.1 jQuery Mobile简介 180
12.1.1 jQuery介绍 180
12.1.2 jQuery Mobile的特点 181
12.1.3对浏览器的支持 181
12.2 jQuery Mobile的四个突出特性 182
12.2.1跨所有移动平台的统一UI 182
12.2.2简化的标记驱动开发 182
12.2.3渐进式增强 183
12.2.4响应式设计 183
12.3 jQuery Mobile语法基础 184
12.3.1页面模板 184
12.3.2多页面模板 187
12.3.3使用Ajax修饰导航 188
12.3.4转换 192
12.3.5对话框 192
12.3.6有媒体查询的响应式布局 198
第13章 实现导航功能 200
13.1页眉栏 200
13.1.1页眉基础 200
13.1.2实现页眉定位 200
13.1.3在页眉中使用按钮 203
13.1.4在页眉中使用分段控件 206
13.1.5实现回退按钮效果 209
13.2页脚栏 211
13.2.1页脚基础知识 212
13.2.2页脚定位 215
13.2.3页脚按钮 216
13.3工具栏 216
13.3.1带有图标的工具栏 216
13.3.2带有分段控件的工具栏 218
13.4标签栏 220
13.4.1带有标准图标的标签栏 220
13.4.2永久标签栏 222
13.4.3有自定义图标的标签栏 223
13.4.4带有分段控件的标签栏 225
第14章 按钮 228
14.1链接按钮 228
14.2表单按钮 229
14.3使用图像按钮 230
14.4使用有图标的按钮 231
14.5使用只带有图标的按钮 233
14.6实现按钮定位 235
14.7自定义按钮图标 236
14.8使用分组按钮 239
14.9使用主题按钮 241
14.10使用动态按钮 242
14.10.1按钮选项 242
14.10.2按钮方法 243
14.10.3按钮事件 243
14.10.4动态按钮演练 244
第15章 表单 247
15.1表单基础 247
15.2在表单中输入文本 249
15.2.1动态输入文本 251
15.2.2文本输入选项 251
15.2.3文本输入方法 252
15.2.4文本输入事件 252
15.3选择菜单 254
15.3.1自定义选择菜单 256
15.3.2占位符选项 258
15.3.3动态选择菜单 258
15.3.4选择菜单选项 258
15.3.5选择菜单方法 260
15.3.6选择菜单事件 260
15.4单选按钮 263
15.4.1单选按钮选项 264
15.4.2单选按钮方法 265
15.4.3单选按钮事件 265
15.5复选框 267
15.5.1动态复选框 267
15.5.2使用复选框 267
15.6使用滑动条 270
15.6.1滑动条基础 271
15.6.2滑动条选项 272
15.6.3滑动条方法 273
15.6.4滑动条事件 273
15.7使用开关控件 275
15.7.1开关控件基础 275
15.7.2使用动态开关控件 277
15.8使用本地表单元素 278
15.9使用Mobiscroll日期选择器 282
第16章 列表 285
16.1列表基础 285
16.2内置列表 286
16.3列表分割线 288
16.4带有缩略图和图标的列表 290
16.5使用拆分按钮列表 295
16.6使用编号列表 297
16.7设置列表为只读 299
16.8使用列表徽章(计数泡) 301
16.9使用搜索栏过滤列表 304
16.10实现动态列表效果 307
16.10.1列表选项 307
16.10.2列表方法 310
16.10.3列表事件 310
第17章 内容格式化 313
17.1使用基本的HTML样式 313
17.2使用表格布局 313
17.2.1表格模板 313
17.2.2两列表格 314
17.2.3三列表格 316
17.2.4带有app图标的四列表格 317
17.2.5使用五列表格 318
17.2.6多行表格 319
17.2.7不规则的表格 320
17.2.8 Springboard 322
17.3可折叠的内容块 326
17.3.1嵌套折叠和折叠组 327
17.3.2创建可折叠的内容块 327
17.4折叠组标记 329
17.4.1折叠组标记基础 330
17.4.2实战演练 330
17.5使用CSS实现设置样式 333
17.5.1实现背景渐变 333
17.5.2在Mozilla浏览器实现背景渐变 335
17.5.3实现页眉渐变效果 337
第18章 主题化 340
18.1主题设计基础 340
18.2主题和调色板 343
18.3使用主题的默认值 345
18.4继承主题 347
18.5自定义主题 351
18.6使用ThemeRoller 358
18.6.1调色板和全局设置 359
18.6.2 Preview Inspector和QuickSwatch Bar 359
18.6.3使用Adobe Kuler集成工具 360
18.6.4使用ThemeRoller 361
第19章 jQuery Mobile API 366
19.1配置jQuery Mobile 366
19.1.1 mobileinit事件 366
19.1.2可配置的jQuery Mobile选项 367
19.2方法 369
19.3事件 378
19.3.1触摸事件 378
19.3.2虚拟鼠标事件 379
19.3.3设备方向变化事件 380
19.3.4滚屏事件 381
19.3.5页面加载事件 383
19.3.6页面显示/隐藏事件 388
19.3.7页面初始化事件 389
19.3.8动画事件 391
19.3.9触发事件 393
19.4属性 393
19.5数据属性 393
19.6有响应的布局助手 397
19.6.1方向类 397
19.6.2最小/最大宽度折断点 397
19.6.3添加宽度折断点 398
19.6.4运行媒介查询 398
第4篇 PhoneGap技术篇 400
第20章 PhoneGap基础 400
20.1 PhoneGap简介 400
20.1.1产生背景 400
20.1.2什么是PhoneGap 401
20.1.3 PhoneGap的发展历程 401
20.1.4全新的功能 402
20.1.5 PhoneGap的发展现状 402
20.2 PhoneGap的优点和缺点分析 403
20.2.1原生应用 403
20.2.2 Web应用 404
20.2.3混合型应用 404
20.3 PhoneGap API基础 405
20.4 PhoneGap的工作 406
20.5 PhoneGap开发必备技术 407
20.5.1 Titanium 407
20.5.2 Adobe AIR 408
20.5.3 Corona 409
20.5.4常用的JavaScript移动UI框架 409
第21章 使用PhoneGap开发移动Web应用 411
21.1 PhoneGap移动Web开发的步骤 411
21.2搭建PhoneGap开发环境 412
21.2.1准备工作 412
21.2.2获得PhoneGap开发包 412
21.2.3在iOS平台上创建基于PhoneGap的程序 414
第22章 PhoneGap的事件机制 417
22.1 PhoneGap的事件列表 417
22.2 deviceready事件 418
22.3 pause和resume事件 420
22.4 online和offline事件 422
22.4.1 online事件 422
22.4.2 offline事件 423
22.5 batterycritical、batterylow和batterystatus事件 424
第23章 API——应用、通知、设备、网络连接和加速计 428
23.1应用API 428
23.1.1白名单安全机制 428
23.1.2访问对象的方法 429
23.2通知API 430
23.2.1主要对象 430
23.2.2业务操作 430
23.3设备API 439
23.3.1主要对象 439
23.3.2使用设备API 439
23.4网络连接API 440
23.5加速计API 442
23.5.1主要对象 442
23.5.2 getCurrentAcceleration()方法 443
23.5.3 watchAcceleration()方法 445
23.5.4 clearWatch()方法 447
第24章 API——地理位置和指南针 449
24.1地理位置API 449
24.1.1地理位置应用背景 449
24.1.2 Geolocation接口介绍 450
24.1.3三个对象 450
24.1.4三个参数 454
24.1.5操作方法 455
24.2指南针API 460
24.2.1两个对象 460
24.2.2三个参数 461
24.2.3三个函数 461
第25章 API——照相机、采集、媒体 467
25.1照相机 467
25.1.1 camera.getPicture()方法 467
25.1.2业务操作 468
25.1.3实战演练 469
25.2 Capture 474
25.2.1 Capture的对象 474
25.2.2 Capture的方法 477
25.3 Media 484
25.3.1主要参数介绍 484
25.3.2主要方法介绍 484
第26章 API——通讯录和数据存储 497
26.1 Contacts通讯录 497
26.1.1主要对象 497
26.1.2五个方法 508
26.1.3综合实例 511
26.2 Storage存储 517
26.2.1主要对象 518
26.2.2主要方法 525
第27章 API——文件操作 526
27.1主要对象 526
27.1.1 Directory Entry 526
27.1.2 DirectoryReader和File 527
27.1.3 FileEntry 527
27.1.4 FileError 527
27.1.5 FileReader 528
27.1.6 FileSystem 529
27.1.7 FileTransfer和FileTransferError 530
27.1.8 FileUploadOptions和FileUploadResult 530
27.1.9 FileWriter 531
27.1.10 Flags 534
27.1.11 LocalFileSystem 534
27.1.12 Metadata 535
27.2主要方法 535
27.2.1 getMetadata()方法 536
27.2.2 moveTo()方法 536
27.2.3 copyTo()方法 537
27.2.4 toURI()方法 537
27.2.5 remove()方法 538
27.2.6 getParent()方法 538
27.2.7 createReader()和getDirectory()方法 539
27.2.8 getFile()方法 539
27.2.9 removeRecursively()方法 540
27.2.10 readEntries()方法 540
27.2.11 createWriter()方法 541
27.2.12 readAsDataURL()和readAsText()方法 541
27.2.13 upload()方法 544
27.2.14 download()方法 545
第28章 PhoneGap的插件 547
28.1 PhoneGap插件基础 547
28.2使用PhoneGap插件 548
28.2.1 ChildBrowser插件介绍 548
28.2.2使用ChildBrowser插件 549
28.3实现PhoneGap插件 552
28.3.1编写前的准备 552
28.3.2编写PhoneGap插件 553
28.3.3将PhoneGap嵌入到iOS程序中 557
28.4常用的PhoneGap插件 559
28.4.1 NativeControls插件 559
28.4.2 WebGL插件 560