iOS 8 Swift编程指南

Author: 杨宏焱  

Publisher: 电子工业出版社

Publication year: 2015

ISBN:  9787121260889

Subject: TP312 程序语言、算法语言

Keyword: 程序语言、算法语言

Language: CHS

Access to resources Favorite

Description

本书创新性地将语言和框架结合起来介绍。全书分为两部分:第一部分是Swift语言介绍,共4章;第二部分则是iOS 8特性的介绍,从App开发者的角度阐发Swift语言在新SDK上的实际应用。本书在介绍iOS 8每个特性的过程中,配以丰富的Swift代码案例,以此让读者在学习iOS 8的同时,积累大量的Swift编码经验。

Chapter

6.1 创建UISplitViewController应用

6.2 在iPhone App中使用UISplitViewController

6.2.1 创建Detail默认视图

6.2.2 在iPhone中展开UISplitViewController

6.2.3 记住用户选择

6.2.4 单元格指示器

6.2.5 对iPad进行适应

6.3 旋屏

6.3.1 旧的旋屏方法被废弃

6.3.2 自定义旋屏效果

6.3.3 单元格自适应大小

6.3.4 iPad旋屏

6.3.5 自适应的UILabel

第7章 视图控制器的呈现

7.1 初始项目

7.2 内置的Presentation Controller

7.2.1 UIAlertController

7.2.2 UIPopoverPresentationController

7.2.3 UISearchController

7.3 自定义UIPresentationController

7.3.1 Presented控制器和Presenting控制器

7.3.2 创建基本的PresentationController

7.3.3 自定义转换动画

7.3.4 高级定制

1.SelectedItem类

2.MyPresentationController类

3.MyTransitioningDelegate类

4.MyTransitioner类

5.PaperVC类

6.添加背景层图片

第8章 今日扩展

8.1 App扩展介绍

8.1.1 App扩展的类型

8.1.2 理解App扩展

1.App扩展的基本机制

2.App扩展和Info.plist

3.实现 App扩展

4.App扩展示例代码

8.2 今日扩展综述

8.2.1 介绍今日扩展

8.2.2 WeatherWidget示例

1.创建容器App

2.引入Alamofire框架

3.创建容器App的UI

4.全局文件

5.实现ViewController

6.获取天气服务

7.添加 Widget

8.创建 Widget的UI

9.App Group和NSUserDefaults

10.实现数据共享容器

11.实现 TodayViewController

8.2.3 讨论

1.局限性

2.开发建议

3.让用户打开今日扩展

第9章 分享扩展

9.1 案例项目:SinaWeiboShare

9.1.1 实现容器App

1.开始

2.集成SinaWeibo SDK

3.实现微博登录

4.实现分享

9.1.2 创建分享扩展

1.添加分享扩展

2.设置程序组

3.添加共享代码

4.激活规则

5.实现扩展

6.创建分享扩展的图标

9.2 讨论

9.2.1 配置SLComposeSheetConfigurationItem

9.2.2 分享其他文件

第10章 动作扩展

10.1 案例项目:SearchInICIBA

10.1.1 实现容器App

1.开始

2.实现单词搜索

10.1.2 创建动作扩展

1.添加动作扩展

2.实现扩展代码

3.与Safari交互

4.激活规则

5.共享代码和界面

10.2 讨论

无界面类型

第11章 照片编辑扩展

11.1 案例项目:PhotoVintage

11.1.1 实现容器App

创建项目

11.1.2 实现照片编辑扩展

1.添加Target

2.实现UI

3.实现扩展

4.数据修订表PHAdjustmentData

5.运行PhotoVintage扩展

11.2 讨论

第12章 文档提供者扩展

12.1 准备

12.1.1 工作机制

12.1.2 文档提供者扩展支持的4种操作

12.2 Bmob云服务

12.2.1 注册Bmob

12.2.2 创建应用

12.2.3 获取App Key

12.2.4 Bmob SDK

12.3 开始

12.3.1 添加扩展App

12.3.2 配置Info.plist和entitlements

12.4 加入Bmob SDK框架

12.4.1 添加CocoaPods框架

12.4.2 桥接头文件

12.4.3 上传图片到Bmob

12.4.4 实现Document Picker

12.4.5 实现宿主App

12.4.6 实现File Provider

12.5 讨论

第13章 键盘扩展

13.1 准备

13.2 键盘扩展的限制

13.3 值得信任

13.4 网络访问

13.5 开始

13.5.1 创建键盘扩展

13.5.2 显示键盘

13.5.3 设计按钮及布局

13.6 实现KeyboardViewController

13.6.1 创建连接

13.6.2 实现按键处理

13.6.3 大小写转换

13.6.4 切换符号集

13.6.5 按键动画

13.6.6 键盘最终运行效果

13.7 讨论

第14章 CloudKit

14.1 准备

14.1.1 用户授权

14.1.2 iCloud容器

14.1.3 数据库

14.1.4 Zone

14.1.5 记录

14.1.6 订阅

14.2 开始

14.2.1 打开iCloud

14.2.2 程序主界面

14.2.3 全局对象

14.2.4 获取用户ID及姓名

14.2.5 将数据封装为CKRecord

14.2.6 上传照片

14.2.7 查看已经上传的图片

14.3 高级API

14.3.1 不完全抓取

14.3.2 分页抓取

14.3.3 抓取并缓存图片

14.3.4 错误处理及网络重试

14.3.5 CloudKit Dashboard

14.4 讨论

第15章 Photos框架

15.1 Photos初步

15.1.1 模型对象

15.1.2 抓取概述

15.1.3 检索内容

15.1.4 初始项目

15.1.5 获取用户授权

15.1.6 抓取

15.1.7 显示图片

15.1.8 缓存

15.1.9 标记用户选择

15.2 Photos进阶

15.2.1 API介绍

1.编辑内容

2.变更通知

15.2.2 初始项目

15.2.3 创建新的拼接图

15.2.4 显示拼接图

15.2.5 收藏和删除

15.2.6 增加修订记录

15.2.7 读取修订记录

15.2.8 注册变更通知

15.2.9 监听变更通知

15.2.10 让SpliceListVC处理变更通知

15.2.11 让PhotoPicker处理变更通知

15.3 讨论

第16章 Handoff

16.1 Handoff基础

16.2 开始

16.2.1 Handoff兼容性

16.2.2 测试Handoff

16.2.3 初始项目

16.2.4 设置Team ID

16.2.5 添加活动类型

16.3 view活动

16.3.1 创建活动并开始广播

16.3.2 更新用户活动

16.3.3 停止广播

16.4 edit活动

16.4.1 创建活动并开始广播

16.4.2 更新用户活动

16.4.3 停止广播

16.5 恢复用户活动

16.5.1 在应用程序委托中接收Handoff广播

16.5.2 恢复view活动

16.5.3 恢复edit活动

16.6 讨论

第17章 WebKit

17.1 开始

17.1.1 初始项目

17.1.2 创建WKWebView实例

17.1.3 加载Web页

17.1.4 监视页面加载进度

17.1.5 页面导航

17.1.6 WKNavigationDelegate协议

17.2 WebKit进阶

17.2.1 脚本调试工具

17.2.2 隐藏网页内容

17.2.3 抓取页面内容

17.2.4 显示PopoverController

17.3 讨论

第18章 Living Rendering

18.1 Living Rendering初步

18.1.1 开启Living Redering特性

18.1.2 暴露@IBInspectable属性

18.1.3 绘制boxLayer层

18.1.4 绘制markLayer层

18.1.5 绘制文本图层

18.2 Living Rendering进阶

18.2.1 使用位图

18.2.2 响应事件

18.3 讨论

第19章 Visual Effects

19.1 Visual Effects初步

19.1.1 初始项目

19.1.2 使用Visual Effect View实现模糊特效

19.1.3 使用Visual Effect View实现Vibrancy效果

19.2 Visual Effects进阶

19.2.1 使用UIBlurEffect实现模糊效果

19.2.2 使用UIVibrancyEffect实现Vibrancy效果

19.3 讨论