精通iOS开发(第8版)pdf下载

摘要还在iPhone和iPad应用开发的大门前徘徊?还是已经投身iOS应用开发阵营,但希望迅速提升自己的功力?选择本书能令你惊喜连连。五位作者均是zi深移动开发专家,具有丰富的Mac、iOS、Cocoa、Objective-C及Swift开发经验,他们将多年的实战经验与智慧感悟汇集成本书,旨在帮助...

摘要

还在iPhone和iPad应用开发的大门前徘徊?还是已经投身iOS应用开发阵营,但希望迅速提升自己的功力?选择本书能令你惊喜连连。五位作者均是zi深移动开发专家,具有丰富的Mac、iOS、Cocoa、Objective-C及Swift开发经验,他们将多年的实战经验与智慧感悟汇集成本书,旨在帮助没有经验的读者顺利叩开iOS应用开发的大门,帮助有经验的读者迅速提升功力,从而在iOS开发的道路上所向披靡。

精通iOS开发(第8版) 内容简介

本书是iOS应用开发基础教程,内容翔实,语言生动。作者结合大量实例,使用Swift语言循序渐进地讲解了适用于iPhone/iPad开发的基本流程。新版介绍强大的iOS 10操作系统,涵盖Xcode 8的新功能,书中所有案例全部重新编写。

精通iOS开发(第8版) 目录

第 1 章 欢迎来到 iOS 和 Swift 世界 1

1.1 关于本书 1

1.2 必备条件 2

1.2.1 选择开发者计划 3

1.2.2 必备知识 5

1.2.3 iOS应用程序的特点 5

1.3 本书内容 8

1.3.1 新版增加内容 9

1.3.2 Swift 和 Xcode 版本 9

1.3.3 准备好了吗 9

第 2 章 创建第一个 App 10

2.1 创建“Hello, World!”项目 10

2.1.1 Xcode 项目窗口 13

2.1.2 深入了解项目 20

2.2 Interface Builder简介 21

2.2.1 文件格式 22

2.2.2 storyboard 22

2.2.3 实用工具 23

2.2.4 在视图中添加标签 24

2.2.5 属性修改 27

2.3 画龙点睛——美化 iPhone 应用程序 28

2.4 启动界面 32

2.5 在设备上运行应用 33

2.6 小结 36

第 3 章 基本的用户交互 37

3.1 MVC模式 37

3.2 创建 ButtonFun应用 38

3.3 视图控制器 39

3.3.1 输出接口和操作方法 40

3.3.2 精简视图控制器代码 41

3.3.3 设计用户界面 42

3.3.4 测试 ButtonFun应用 49

3.3.5 布局预览 57

3.3.6 改变文本样式 59

3.4 应用程序委托 60

3.5 小结 62

第 4 章 更丰富的用户界面 63

4.1 动态控件、静态控件和被动控件 66

4.2 创建 Control Fun应用程序 66

4.3 实现图像视图和文本框 67

4.3.1 添加图像视图 67

4.3.2 调整图像视图的大小 69

4.3.3 设置视图属性 71

4.3.4 添加文本框 72

4.3.5 添加约束 78

4.3.6 创建并关联输出接口 79

4.4 关闭键盘 80

4.4.1 按下 Done 按钮关闭键盘 81

4.4.2 触摸背景关闭键盘 82

4.4.3 添加滑动条和标签 83

4.4.4 创建并关联操作方法和输出接口 85

4.4.5 实现操作方法 85

4.5 实现开关、按钮和分段控件 86

4.5.1 添加两个带标签的开关 87

4.5.2 为开关创建并关联输出接口和操作方法 87

4.5.3 实现开关的操作方法 88

4.5.4 控件状态 90

4.5.5 为按钮创建并关联输出接口和操作方法 91

4.6 实现分段控件的操作方法 91

4.7 实现操作表单和警告视图 92

4.7.1 显示操作表单 92

4.7.2 显示警告视图 95

4.8 小结 96

第 5 章 自动旋转 97

5.1 自动旋转机制 98

5.1.1 点、像素和 Retina 显示屏 98

5.1.2 控制旋转 98

5.2 创建 Orientations项目 99

5.2.1 应用级支持的方向 99

5.2.2 独立控制器的旋转支持 101

5.3 创建布局项目 102

5.3.1 覆盖默认的约束 105

5.3.2 与屏幕等宽的标签 107

5.4 创建自适应布局 109

5.4.1 创建 Restructure 应用程序 109

5.4.2 设置 iPhone 的横向(wC hC)配置布局 116

5.4.3 设置 iPad(以及 iPhone Plus横向)的 wR hR配置 124

5.5 小结 131

第 6 章 创建多视图应用 132

6.1 多视图应用的常见类型 132

6.2 多视图应用的体系结构 135

6.2.1 根控制器 137

6.2.2 内容视图剖析 137

6.3 构建 View Switcher项目 137

6.3.1 重命名视图控制器 137

6.3.2 添加内容视图控制器 139

6.3.3 修改 SwitchingViewController.swift 140

6.3.4 创建拥有工具栏的视图 140

6.3.5 连接工具栏按钮和视图控制器 142

6.3.6 编写根视图控制器 143

6.3.7 实现内容视图 147

6.3.8 过渡动画效果 150

6.4 小结 152

第 7 章 分页栏与选取器 153

7.1 Pickers应用程序 153

7.2 委托和数据源 156

7.3 创建 Pickers应用程序 157

7.3.1 创建视图控制器 157

7.3.2 创建分页栏控制器 158

7.3.3 首次模拟器测试 161

7.3.4 实现日期选取器 162

7.4 实现单滚轮选取器 164

7.4.1 构建视图 164

7.4.2 将控制器实现为数据源和委托 168

7.5 实现多滚轮选取器 170

7.5.1 构建视图 170

7.5.2 实现控制器 170

7.5.3 滚轮内容根据环境变化 172

7.6 使用自定义选取器创建一个简单游戏 178

7.6.1 编写控制器头文件 178

7.6.2 构建视图 178

7.6.3 实现控制器 179

7.6.4 最后的细节 182

7.7 小结 185

第 8 章 表视图简介 186

8.1 表视图基础 186

8.1.1 表视图和表视图单元 186

8.1.2 分组表和连续表 187

8.2 实现一个简单表 188

8.2.1 设计视图 188

8.2.2 实现控制器 190

8.2.3 添加一个图像 193

8.2.4 表视图单元样式 194

8.2.5 设置缩进级别 197

8.2.6 处理行的选择 197

8.2.7 更改字体大小和行高 199

8.3 定制表视图单元 200

8.4 实现自定义表视图应用程序 201

8.4.1 创建 UITableViewCell 子类 201

8.4.2 从 XIB 文件加载 UITableViewCell 205

8.5 分组分区和索引分区 210

8.5.1 构建视图 210

8.5.2 导入数据 211

8.5.3 实现控制器 212

8.5.4 添加索引 214

8.5.5 添加搜索栏 215

8.5.6 视图调试器 220

8.6 小结 222

第 9 章 表视图中的导航控制器 223

9.1 导航控制器基础 223

9.1.1 栈的概念 223

9.1.2 控制器栈 224

9.2 简单的字体浏览器:Fonts 225

9.2.1 Fonts应用的子控制器 225

9.2.2 Fonts应用的基础框架 227

9.2.3 创建根视图控制器 230

9.2.4 初始化 storyboard 232

9.2.5 第一个子控制器:字体列表视图 233

9.2.6 设计字体列表的 storyboard 235

9.3 创建字体尺寸视图控制器 237

9.3.1 设计字体尺寸视图控制器的storyboard 238

9.3.2 对字体列表视图控制器的转场进行设置 238

9.3.3 创建字体信息视图控制器 239

9.3.4 设计字体信息视图控制器的storyboard 240

9.3.5 调整字体列表视图控制器的转场 243

9.3.6 我的收藏字体 244

9.3.7 补充功能 244

9.3.8 实现轻扫删除 244

9.3.9 实现拖动排序 246

9.4 小结 247

第 10 章 集合视图 248

10.1 创建 DialogViewer项目 248

10.1.1 配置自定义单元 249

10.1.2 配置视图控制器 252

10.1.3 提供内容单元 252

10.1.4 实现流动布局 254

10.1.5 实现标题视图 255

10.2 小结 257

第 11 章 iPad 应用中的分割视图和浮动窗口 258

11.1 创建基于 UISplitViewController 的分割视图应用程序 260

11.1.1 在 storyboard 中定义结构 262

11.1.2 使用代码定义功能 263

11.1.3 Master-Detail 模板应用程序的工作原理 266

11.1.4 添加总统信息 268

11.1.5 创建浮动窗口 272

11.2 小结 277

第 12 章 应用设置和用户默认设置 278

12.1 设置捆绑包入门 278

12.2 Bridge Control应用程序 279

12.2.1 创建项目 282

12.2.2 使用设置捆绑包 283

12.2.3 读取应用中的设置 295

12.2.4 在应用中修改默认设置 298

12.2.5 注册默认值 300

12.2.6 保证设置有效 300

12.2.7 切换到 Settings应用程序 302

12.3 小结 303

第 13 章 数据持久化基础知识 304

13.1 应用程序的沙盒 304

13.1.1 获取 Documents和 Library 目录 307

13.1.2 获取临时目录 308

13.2 文件保存方案 308

13.2.1 单文件持久化 308

13.2.2 多文件持久化 309

13.3 属性列表 309

13.3.1 属性列表序列化 309

13.3.2 创建 Persistence 应用程序的第一个版本 310

13.4 对模型对象进行归档 314

13.4.1 遵循 NSCoding 协议 314

13.4.2 实现 NSCopying 协议 315

13.4.3 对数据对象进行归档和取消归档 316

13.4.4 归档应用 316

13.4.5 使用 iOS嵌入的 SQLite3 318

13.4.6 创建或打开数据库 319

13.4.7 使用绑定变量 320

13.5 创建 SQLite3应用程序 321

13.6 使用 Core Data 325

13.6.1 实体和托管对象 326

13.6.2 Core Data应用 329

13.6.3 修改 AppDelegate.swift 文件 332

13.7 小结 338

第 14 章 文档和 iCloud 339

14.1 使用 UIDocument 管理文档存储 340

14.1.1 构建 TinyPix 340

14.1.2 创建 TinyPixDocument 类 340

14.1.3 主控制器代码 342

14.1.4 设置 storyboard 348

14.1.5 创建 TinyPix 视图的类 350

14.1.6 设计 storyboard的详情视图 353

14.2 添加 iCloud支持 356

14.2.1 创建配置描述文件 356

14.2.2 如何查询 359

14.2.3 保存位置 360

14.2.4 将偏好设置保存到 iCloud 361

14.3 小结 363

第 15 章 用 Grand Central Dispatch 进行多线程编程 364

15.1 创建 SlowWorker 应用程序 365

15.1.1 线程基础知识 367

15.1.2 工作单元 368

15.1.3 GCD:底层队列 368

15.1.4 改进 SlowWorker 369

15.2 后台处理 372

15.3 应用生命周期 373

15.4 状态更改通知 373

15.4.1 创建 State Lab 项目 374

15.4.2 探索执行状态 375

15.4.3 利用执行状态更改 376

15.4.4 处理不活跃状态 377

15.4.5 处理后台状态 380

15.4.6 进入后台时保存状态 382

15.5 小结 385

第 16 章 图形与绘制 386

16.1 Quartz 2D 基础概念 386

16.2 Quartz 2D 绘图方法 387

16.2.1 Quartz 2D 图形环境 387

16.2.2 坐标系统 388

16.2.3 指定颜色 389

16.2.4 在环境中绘制图像 390

16.2.5 绘制形状:多边形、直线和曲线 390

16.2.6 Quartz 2D 样例:图案、渐变色、虚线图 391

16.3 QuartzFun 应用程序 392

16.3.1 构建 QuartzFun应用程序 392

16.3.2 添加 Quartz 2D绘制代码 398

16.3.3 优化 QuartzFun应用程序 402

16.4 小结 404

第 17 章 SpriteKit 制作简单游戏 405

17.1 创建 TextShooter应用 405

17.1.1 自定义初始场景 408

17.1.2 玩家移动 411

17.1.3 创建敌人 415

17.1.4 在场景中加入敌人 416

17.1.5 开始射击 417

17.1.6 物理攻击敌人 420

17.1.7 完成关卡 421

17.1.8 自定义碰撞 423

17.1.9 粒子系统 426

17.1.10 向场景中加入粒子 428

17.1.11 游戏结束 430

17.1.12 创建开始场景 432

17.1.13 添加音效 434

17.1.14 添加力场:为游戏提高一些难度 434

17.2 小结 437

第 18 章 轻点、触摸和手势 438

18.1 多点触控术语 438

18.2 响应者链 439

18.2.1 响应事件 439

18.2.2 转发事件:保持响应者链的活动状态 440

18.3 多点触控体系结构 440

18.4 4个手势通知方法 440

18.5 TouchExplorer应用 441

18.5.1 创建 Swipes应用程序 445

18.5.2 使用触摸事件检测轻扫 445

18.5.3 自动手势识别 447

18.5.4 实现多指轻扫 448

18.5.5 检测多次轻点 450

18.5.6 检测捏合和旋转 453

18.6 小结 456

第 19 章 确定位置 457

19.1 位置管理器 457

19.1.1 设置期望精度 457

19.1.2 设置距离筛选器 458

19.1.3 获取使用定位服务的权限 458

19.1.4 启动位置管理器 458

19.1.5 合理使用位置管理器 458

19.2 位置管理器委托 459

19.2.1 获取位置更新 459

19.2.2 使用 CLLocation 获取纬度和经度 459

19.2.3 错误通知 461

19.3 创建 WhereAmI应用程序 461

19.3.1 更新位置管理器 465

19.3.2 将移动路线展现在地图上 467

19.3.3 更改定位服务权限 470

19.4 小结 471

第 20 章 设备方向与动作 472

20.1 加速计物理特性 472

20.2 陀螺仪旋转特性 473

20.3 Core Motion和动作管理器 473

20.3.1 创建 MotionMonitor 应用程序 473

20.3.2 主动动作访问 476

20.3.3 陀螺仪和方位结果 478

20.3.4 加速计结果 479

20.4 检测摇动 480

20.4.1 内嵌的摇动检测 480

20.4.2 摇动与破碎 480

20.5 将加速计用作方向控制器 482

20.5.1 Ball应用程序 482

20.5.2 实现 BallView 类 484

20.5.3 计算弹珠运动 486

20.6 小结 488

第 21 章 摄像头和照片图库 489

21.1 图像选取器和 UIImagePickerController 489

21.1.1 图像选取器控制器 489

21.1.2 实现图像选取器控制器委托 491

21.2 设计 Camera 界面 492

21.2.1 隐私选项 494

21.2.2 实现摄像头视图控制器 495

21.3 小结 498

第 22 章 本地化翻译应用 499

22.1 本地化体系结构 499

22.2 字符串文件 500

22.2.1 字符串文件的格式 500

22.2.2 本地化的字符串函数 501

22.3 创建 LocalizeMe 应用 502

22.3.1 本地化项目 505

22.3.2 本地化 storyboard 508

22.3.3 创建并本地化字符串文件 512

22.3.4 应用显示名称的本地化 516

22.3.5 添加其他本地化 517

22.4 小结 517

22.5 全书总结 518

附录 A Swift 简介 519

精通iOS开发(第8版) 精彩文摘

选中Main.storyboard,在Interface Builder中编辑GUI界面。从库中拖出一个标签放置在主视图顶部,使之与顶部的蓝色引导线对齐。重新调整其大小,使之填满视图中左右两边引导线之问的整个宽度。然后选定此标签,打开特征检查器,找到Font控件,单击其中的小T图标,调出一个小的字体选器弹出框,点击Style弹出菜单并选择Bold字体使标签文本突出显示。接着使用特征检查器将文本改为居中对齐。根据需要,这里可以使用字体选择器加大字号。只要在特征检查器中将Autoshrink(自动收缩)设为Minimum Font Size,文本就会在太长不能适配时自动调整大小。放置好标签之后,按下鼠标右键,从文档略图或storyboard中的View Controller图标拖到此新标签上,然后选择localeLabel输出接口。

然后,在库中使用蓝色引导线将其他5个标签左对齐,上下依次放置,如罔22—2所示.双击顶部的标签,把其中的文本由Label更改为First。然后,我们对其他4个刚刚添加的标签重复此步骤,分别将标签文本设置为Second、Third、Fourth和Fifth。确认5个标签全部都对齐了左边缘的引导线。

从库中再拖出5个标签,这次采用有对齐方式。使用特征检查器将文本对齐方式更改为右对齐,并增加标签的宽度,使之从右边的蓝色引导线伸展至视图中部。接着,我们按下鼠标右键,从View Controller图标拖至5个新标签上,使它们依次连接到不同编号的标签输出接口。

从库中拖出一个图像视图放到视图底部,使之紧挨底部和左侧的蓝色引导线。在特征检查器中,我们在视图的Image属性中选择flag usa,调整图像大小使之在水平方向上位丁两条蓝色引导线之间,垂直方向上大约为用户界面高度的三分之一。然后,我们在特征检查器中将Mode特征由Center(居中)改为Aspect Fit(适配纵横比)。这样做是为了确保本地化版本的图片看起来合适,因为并非所有的国旗都有相同的纵横比。选择此选项会使图像视图调整它所显不的图像至合适大小,同时还可以维持正确的纵横比(高度对宽度)。接下来按住鼠标右键从视图控制器拖到这个图像视图并选择flagImageView输出接口。

为了完成用户界面,我们需要设置自动布局约束。首先是顶端的标签,按住鼠标右键从这里拖到文档略图中的其父视图上,按下Shift键并选择Leading Space to Container Margin、Trailing Space to Container Margin和Vertical Spacing to Top Layout Guide选项,然后按下Return键。

接下来固定这5行标签的位置。在文档略图中按住鼠标右键从内容为First的标签拖到其父视图上,同时选择Leading Space to Container Margin和Vertical Spacing to Top Layout Guide选项,然后按下Return键。按住鼠标右键从标签拖到同一行中右边的标签并选择Baseline,然后按住鼠标有键从右侧的标签拖到文档略图中的其父视图并选择Trailing Space to Container Margin选项。

现在已经固定了第一行的标签,对其他4行的标签也执行同样的操作。接着通过按住Shifi键并用鼠标依次点击来选择所有位于右侧的标签,然后点击Editor>Size to Fit Content菜单选项。最后清除这些标签的内容,因为我们将通过代码来对它们进行设定。

为了固定国旗的位置,按住鼠标右键从flag标签拖到文档略图中的其父视图上,选择Leading Space to Container Margin、Trailing Space to Container Margin和Vertical Spacingto Bottom Layout Guide选项,并按下Return键。在flag标签选中时点击Add New Constraints按钮,在弹出而板中勾选Height复选框,然后点击Add 1 Constraint按钮。你现在已经添加了所有需要的布局约束了。

保存storyboard文件。然后切换到ViewController.swift文件,将代码清单22—4中的代码添加到viewDidLoad()方法中。

本文来自尔岚投稿,不代表电子书资源网立场,如若转载,请联系原作者获取。

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 02-19
下一篇 02-19

相关推荐

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信