iOS 6核心开发手册(第4版)

978-7-115-32876-2
作者: 【美】Erica Sadun
译者: 陈宗斌
编辑: 傅道坤

图书目录:

目 录

第 1章 姿势和触摸 1

1.1 触摸 1

1.1.1 阶段 2

1.1.2 触摸和响应者方法 3

1.1.3 触摸视图 3

1.1.4 多触摸 4

1.1.5 姿势识别器 4

1.2 秘诀:添加简单的直接操作界面 5

1.3 秘诀:添加平移姿势识别器 7

1.4 秘诀:同时使用多个姿势识别器 9

1.5 秘诀:约束移动 12

1.6 秘诀:测试触摸 14

1.7 秘诀:针对位图进行测试 16

1.8 秘诀:在屏幕上绘制触摸 18

1.9 秘诀:平滑绘图 20

1.10 秘诀:使用多触摸交互 23

1.11 秘诀:检测圆形 27

1.12 创建自定义的姿势识别器 31

1.13 秘诀:从滚动视图中拖动 33

1.14 秘诀:实时触摸反馈 37

1.14.1 启用触摸反馈 37

1.14.2 截取和转发触摸事件 38

1.14.3 实现TOUCHkit叠加视图 39

1.15 秘诀:给视图添加菜单 42

1.16 小结 43

第 2章 构建和使用控件 45

2.1 UIControl类 45

2.1.1 目标—动作 45

2.1.2 控件的种类 46

2.1.3 控件事件 47

2.2 按钮 48

2.3 Interface Builder中的按钮 50

2.4 秘诀:构建按钮 51

2.4.1 多行按钮文本 53

2.4.2 给按钮添加动画式元素 54

2.4.3 给按钮添加额外的状态 54

2.5 秘诀:制作按钮响应的动画 54

2.6 秘诀:添加具有自定义指针的滑块 56

2.6.1 自定义UISlider 57

2.6.2 提高效率 58

2.7 外观代理 61

2.8 秘诀:创建可点按两次的分段控件 64

2.8.1 第 二次点按反馈 65

2.8.2 控件和属性 65

2.9 处理选项开关和步进器 67

2.10 子类化UIControl 68

2.10.1 创建控件 69

2.10.2 跟踪触摸 69

2.10.3 调度事件 69

2.11 秘诀:构建星星滑块 72

2.12 构建触摸式转盘 75

2.13 秘诀:创建拉式控件 78

2.13.1 可发现性 79

2.13.2 测试触摸 79

2.14 构建自定义的锁定控件 82

2.15 添加页面指示控件 84

2.16 秘诀:创建可自定义的分页滚动条 87

2.17 构建工具栏 92

2.18 小结 94

第3章 提醒用户 95

3.1 通过警报直接与用户交流 95

3.1.1 构建简单的警报 95

3.1.2 警报委托 97

3.1.3 显示警报 98

3.1.4 警报的种类 98

3.2 “请等待”:给用户显示进度 99

3.2.1 使用UIActivityIndicatorView 99

3.2.2 使用UIProgressView 100

3.3 秘诀:不带按钮的警报 100

3.4 秘诀:利用事件处理循环创建模态警报 104

3.5 秘诀:结合使用可变参数与警报视图 106

3.6 展示选项列表 107

3.6.1 滚动菜单 109

3.6.2 在动作表中显示文本 110

3.7 秘诀:构建自定义的叠加 110

3.8 秘诀:基本的弹出窗口 112

3.9 秘诀:本地通知 114

3.10 警报指示器 115

3.11 秘诀:简单的音频警报 116

3.11.1 系统声音 117

3.11.2 振动 118

3.11.3 警报 118

3.11.4 延迟 119

3.11.5 系统声音的处理 119

3.12 小结 120

第4章 组合视图与动画 123

4.1 视图层次结构 123

4.2 秘诀:恢复视图层次结构树 125

4.3 秘诀:查询子视图 126

4.4 管理子视图 128

4.4.1 添加子视图 128

4.4.2 重新排序和删除子视图 128

4.4.3 视图回调 129

4.5 标记和检索视图 129

4.6 秘诀:通过对象关联命名视图 130

4.7 视图几何学 133

4.7.1 框架 133

4.7.2 矩形实用函数 134

4.7.3 点和大小 135

4.7.4 变换 135

4.7.5 坐标系统 136

4.8 秘诀:处理视图框架 136

4.8.1 调整大小 137

4.8.2 CGRect和Center 139

4.8.3 其他几何元素 140

4.9 秘诀:获取变换信息 144

4.9.1 获取变换属性 144

4.9.2 测试视图交叉 145

4.10 显示和交互特征 150

4.11 UIView动画 151

4.12 秘诀:淡入和淡出视图 152

4.13 交换视图 153

4.14 秘诀:翻转视图 154

4.15 秘诀:使用Core Animation渐变 156

4.16 秘诀:在视图出现时弹起它们 158

4.17 图像视图动画 159

4.18 小结 160

第5章 视图约束 163

5.1 约束是什么 163

5.2 对齐矩形 164

5.3 约束属性 165

5.4 约束的法则 166

5.5 创建约束 168

5.5.1 基本的约束声明 168

5.5.2 可视化的格式约束 169

5.5.3 变量绑定 170

5.6 格式字符串 170

5.6.1 方向 171

5.6.2 视图名称 172

5.6.3 连接 173

5.7 谓词 175

5.7.1 指标 176

5.7.2 视图之间的谓词 176

5.7.3 优先级 176

5.8 格式字符串小结 176

5.9 存储和更新约束 177

5.10 秘诀:比较约束 179

5.11 秘诀:描述约束 181

5.12 秘诀:创建固定大小的受约束的视图 183

5.12.1 禁用自动调整大小约束 184

5.12.2 在视图界限内开始 184

5.12.3 约束大小 185

5.13 秘诀:居中显示视图 187

5.14 秘诀:设置高宽比 188

5.15 对齐视图和灵活地调整大小 190

5.16 秘诀:响应方向变化 191

5.17 约束宏 193

5.17.1 一致的约束 193

5.17.2 充分的约束 194

5.17.3 宏 194

5.18 调试约束 196

5.19 小结 197

第6章 文本输入 199

6.1 秘诀:取消UITextField键盘 199

6.1.1 阻止键盘取消 200

6.1.2 文本特征属性 200

6.1.3 其他文本框属性 201

6.2 秘诀:利用自定义的附件视图代替文本视图 203

6.3 秘诀:调整键盘周围的视图 205

6.4 秘诀:调整附件视图周围的视图 209

6.5 秘诀:创建自定义的输入视图 212

6.6 秘诀:创建能够意识到文本输入的视图 216

6.7 秘诀:向非文本视图中添加自定义的输入视图 219

6.8 秘诀:构建更好的文本编辑器(第 1部分) 222

6.9 秘诀:构建更好的文本编辑器(第 2部分) 224

6.9.1 启用属性化的文本 224

6.9.2 控制属性 225

6.9.3 其他的响应者功能 225

6.10 秘诀:文本输入过滤 227

6.11 秘诀:检测文本模式 230

6.11.1 创建你自己的表达式 230

6.11.2 枚举正则表达式 231

6.11.3 数据检测器 231

6.11.4 使用内置的类型检测器 232

6.11.5 有用的网站 232

6.12 检测UITextView中的拼写错误 234

6.13 搜索文本字符串 235

6.14 小结 236

第7章 视图控制器的使用 237

7.1 视图控制器 237

7.1.1 UIViewController类 238

7.1.2 导航控制器 238

7.1.3 选项卡栏控制器 238

7.1.4 拆分视图控制器 239

7.1.6 页面视图控制器 239

7.1.7 弹出式控制器 239

7.2 使用导航控制器和拆分视图的开发 240

7.2.1 使用导航控制器和堆栈 241

7.2.2 压入和弹出视图控制器 241

7.2.3 栏按钮 242

7.3 秘诀:导航项类 242

7.3.1 标题和返回按钮 243

7.3.2 宏 243

7.4 秘诀:模态展示 244

7.5 秘诀:构建拆分视图控制器 248

7.6 创建通用拆分视图/导航应用 253

7.7 秘诀:选项卡栏 255

7.8 记忆选项卡状态 259

7.9 秘诀:页面视图控制器 262

7.9.1 书籍属性 263

7.9.2 包装实现 263

7.9.3 探索秘诀 265

7.9.4 构建展示索引 265

7.10 秘诀:在页面视图控制器中刮擦页面 271

7.11 秘诀:自定义容器 272

7.11.1 添加与移除子视图控制器 273

7.11.2 在视图控制器之间过渡 273

7.12 秘诀:延续 278

7.13 小结 284

第8章 常用控制器 285

8.1 图片选取器控制器 285

8.1.1 图片源 285

8.1.2 在iPhone和iPad上展示选取器 286

8.2 秘诀:选择图片 286

8.2.1 怎么做:给模拟器添加照片 286

8.2.2 Assets Library(资产库)框架 287

8.2.3 展示一个选取器 288

8.2.4 处理委托回调 288

8.3 秘诀:拍摄照片 293

8.3.1 设置选取器 293

8.3.2 显示图片 294

8.3.3 将图片保存到相簿 294

8.4 秘诀:录制视频 296

8.4.1 创建视频录制选取器 297

8.4.2 保存视频 298

8.5 秘诀:使用媒体播放器播放视频 299

8.6 秘诀:编辑视频 302

8.7 秘诀:选取并编辑视频 305

8.8 秘诀:通过邮件发送图片 307

8.9 发送文本信息 310

8.10 秘诀:贴出社交更新 313

8.11 秘诀:活动视图(Activity View)控制器 315

8.11.1 创建并展示控制器 316

8.11.2 添加服务 319

8.11.3 项目和服务 323

8.12 秘诀:Quick Look预览控制器 324

8.13 小结 328

第9章 可访问性 329

9.1 可访问性简介 329

9.2 启用可访问性 331

9.3 特征(Trait) 332

9.4 标签 333

9.5 提示 334

9.6 使用模拟器测试 334

9.7 广播更新 336

9.8 在iPhone上测试可访问性 336

9.9 小结 338

第 10章 创建与管理表格视图 339

10.1 iOS表格 339

10.2 委托 340

10.3 创建表 341

10.3.1 表格风格 341

10.3.2 视图布局 341

10.3.3 指派数据源 341

10.3.4 给单元格提供服务 342

10.3.5 注册单元格类 342

10.3.6 单元格出列 343

10.3.7 指派委托 343

10.4 秘诀:实现一个基本的表格 343

10.4.1 数据源方法 344

10.4.2 响应用户碰触 344

10.5 表格视图单元格 347

10.5.1 选中的颜色 348

10.5.2 添加自定义选择特征 348

10.6 秘诀:创建复选表格单元格 348

10.7 使用展开附件 351

10.8 秘诀:表格编辑 353

10.8.1 添加撤销支持 353

10.8.2 支持撤销 354

10.8.3 显示移除控件 354

10.8.4 处理删除请求 355

10.8.5 轻扫单元格 355

10.8.6 重新排列单元格 355

10.8.7 添加单元格 355

10.9 秘诀:使用节 360

10.9.1 构建节 361

10.9.2 节数和行数 362

10.9.3 返回单元格 362

10.9.4 创建头部标题 364

10.9.5 自定义头部和脚注 365

10.9.6 创建节索引 365

10.9.7 处理节不匹配 366

10.9.8 带有节的委托 366

10.10 秘诀:搜索表格 368

10.10.1 创建搜索显示控制器 369

10.10.2 为搜索显示控制器注册单元格 370

10.10.3 构建可搜索的数据源方法 370

10.10.4 委托方法 372

10.10.5 使用搜索感知的索引 372

10.11 秘诀:给表格添加下拉刷新功能 374

10.12 添加动作行 377

10.13 编写自定义组表格的代码 381

10.14 秘诀:构建多滚轮表格 382

10.14.1 创建UIPickerView 383

10.14.2 数据源和委托方法 384

10.14.3 结合选取器使用视图 384

10.15 使用UIDatePicker 387

10.16 小结 388

第 11章 集合视图 391

11.1 集合视图与表格的对比 391

11.2 建立集合视图 393

11.2.1 控制器 393

11.2.2 视图 394

11.2.3 数据源和委托 394

11.3 流布局 394

11.3.1 滚动方向 395

11.3.2 项目尺寸和线间距 395

11.3.3 头部和脚注的尺寸 396

11.3.4 嵌空 398

11.4 秘诀:基本的集合视图流 398

11.5 秘诀:自定义单元格 402

11.6 秘诀:滚动水平列表 404

11.7 秘诀:引入交互式布局效果 408

11.8 秘诀:滚动对齐 410

11.9 秘诀:创建圆形布局 411

11.9.1 创建与删除的动画 412

11.9.2 给圆形布局提供能量 412

11.9.3 布局 413

11.10 秘诀:给布局添加手势 417

11.11 秘诀:创建真正的网格布局 419

11.12 秘诀:自定义项目菜单 427

11.13 小结 429

第 12章 初尝Core Data 431

12.1 Core Data导引 431

12.2 实体和模型 431

12.2.1 构建一个模型文件 432

12.2.2 属性和关系 433

12.2.3 构建对象类 433

12.3 创建上下文 434

12.4 添加数据 435

12.4.1 检查数据文件 436

12.4.2 查询数据库 438

12.4.3 设置提取请求 439

12.4.4 执行提取 439

12.5 移除对象 440

12.6 秘诀:使用Core Data作为表格数据源 441

12.6.1 索引路径访问 441

12.6.2 节键路径 442

12.6.3 节组 442

12.6.4 索引标题 442

12.6.5 表格的备妥程度 442

12.7 秘诀:搜索表格和Core Data 445

12.8 给Core Data表格视图添加编辑功能 448

12.8.1 添加撤消/重做支持 448

12.8.2 创建撤销事务 449

12.8.3 重新思考编辑 450

12.9 秘诀:由Core Data提供能量的集合视图 455

12.10 小结 461

第 13章 网络基础 463

13.1 秘诀:检查网络状态 463

13.2 扫描连接性更改 466

13.3 秘诀:同步下载 468

13.4 秘诀:异步下载 473

13.5 一次调用无反馈异步下载 479

13.6 秘诀:使用JSON序列化 480

13.7 秘诀:将XML转换成树 482

13.7.1 树 483

13.7.2 构建分析树 483

13.8 小结 486

附录A Objective-C文字常量 487

A.1 数字 487

A.2 装箱 488

A.3 枚举 488

A.4 容器文字常量 489

A.5 下标 490

A.6 功能测试 490

详情

本书通过源自真实世界的案例和代码解决方案讲解了iPhone和iPad应用开发过程中用到的所有知识,其内容涵盖了iPhone、iPad应用开发的核心技术要点,及iOS开发在真实商业开发中所需要的所有主题。

图书摘要

相关图书

DirectX 12 3D 游戏开发实战
DirectX 12 3D 游戏开发实战
Python和NLTK自然语言处理
Python和NLTK自然语言处理
scikit-learn机器学习(第2版)
scikit-learn机器学习(第2版)
C++编程自学宝典
C++编程自学宝典
数据科学实战手册(第2版)
数据科学实战手册(第2版)
Scala实用指南
Scala实用指南

相关文章

相关课程