內容簡介
《iOS實戰:圖形圖像、動畫和多媒體卷(Swift版)》論述了iOS圖形圖像、動畫和多媒體編程技術,全部採用最新的基於iOS 8 的API。全書分為10章: 第1章準備開始,介紹了本書的結構及書中的一些約定; 第2章2D圖形圖像技術,介紹了UIKit繪圖技術、繪製視圖的路徑、繪製圖像和文本、坐標、Quartz坐標和坐標變換; 第3章圖像處理,介紹了創建圖像對象、繪製圖片、使用濾鏡和人臉識別等技術; 第4章動畫技術,介紹了視圖動畫、Core Animation框架、視圖動力學行為和動態效果等; 第5章音頻,介紹了音頻檔案、音頻API、AVFoundation框架、System Sound API和OpenAL等; 第6章視頻,介紹了視頻檔案、使用MediaPlayer框架播放視頻、使用AVFoundation框架播放視頻、錄製視頻和編輯視頻; 第7章流媒體技術,介紹了網路多媒體技術、漸進式下載流媒體、實時流媒體、蘋果流媒體協定HTTP Live Streaming、搭建HLS流媒體伺服器、使用本地技術開發客戶端和使用Hybrid技術開發客戶端; 第8章AirPlay與Apple TV開發,介紹了AirPlay技術、支持AirPlay的設備、多媒體檔案支持、AirPlay開發視頻播放、AirPlay開發音頻播放和AirPlay開發UIWebView播放; 第9章訪問iPod媒體庫,介紹了訪問iPod庫相關API、訪問與控制媒體庫、媒體庫搜尋和媒體庫選擇器等; 第10章是項目實戰iOS敏捷開發項目實戰——51CTO學院視頻iPad客戶端,本項目採用了敏捷開發過程,是為51CTO學院視頻開發的iPad客戶端的一個原型,綜合使用了本書前面介紹的圖形技術、動畫技術、視頻播放和流媒體等技術。
本書適合作為從事iOS套用開發的軟體工程師的參考用書,也可作為計算機科學與技術、軟體工程等專業的移動開發類課程的教學用書
作者簡介
關東升,國內知名iOS技術作家,iOS技術顧問,高級培訓講師,移動開發專家。擔任51CTO社區iOS技術顧問,精通iOS、Android和WindowsPhone及HTML5等移動開發技術,擅長移動平台的套用和遊戲類項目開發。曾先後主持開發大型網路遊戲《神農訣》的iOS和Android客戶端、國家農產品追溯系統的iPad客戶端、酒店預訂系統的iPhone客戶端、金融系統微博的iOS和WindowsPhone及Android客戶端。在AppStore上發布了多款遊戲和套用軟體。長期為中國移動研究院、雲南移動、東軟、方正科技、大唐電信、中石油、深圳康拓普、上海財富168、天津港務局等企事業單位授課。除本書外,還著有《iOS開發指南》《品味移動設計》《iOS網路編程與雲端套用實踐》《iOS感測器套用開發實踐》《iOS多媒體編程技術實踐》《iPhone與iPad開發實戰——iOS經典套用剖析》《iOS開發指南從零基礎到AppStore上架》《
Swift開發指南》修訂版《Cocos2d-x實戰:C++卷》《Cocos2d-x實戰:JS卷——Cocos2d-JS開發》《Cocos2d-x實戰:Lua卷》
《Cocos2d-x實戰:工具卷》
等暢銷書。
作品目錄
第1章 準備開始
1.1 本書結構
1.2 本書中的約定
1.2.1 實例代碼約定
1.2.2 圖示約定
1.2.3 圖中手勢
1.2.4 方法命名約定
1.2.5 構造器命名約定
第2章 UIKit與Quartz 2D繪圖技術
2.1 繪製視圖
2.1.1 視圖繪製周期
2.1.2 實例: 填充矩形
2.1.3 填充與描邊
2.1.4 繪製圖像和文本
2.2 Quartz圖形上下文
2.3 Quartz路徑
2.4 Quartz坐標變換
2.4.1 坐標系
2.4.2 2D圖形的基本變換
2.4.3 CTM變換矩陣
2.4.4 仿射變換
本章小結
第3章 圖像處理
3.1 使用圖像
3.1.1 創建圖像
3.1.2 從設備圖片庫選取或從照相機抓取
3.2 Core Image框架
3.3 濾鏡
3.3.1 使用濾鏡
3.3.2 實例: 舊色調和高斯模糊濾鏡
3.4 人臉識別
3.4.1 人臉識別開發
3.4.2 實例: 是猩猩還是小女孩
本章小結
第4章 動畫技術
4.1 視圖動畫
4.1.1 動畫塊
4.1.2 動畫生命周期事件
4.1.3 過渡動畫
4.2 iOS自定義視圖過渡動畫
4.2.1 自定義過渡動畫
4.2.2 樹形結構導航自定義過渡動畫
4.2.3 模態導航自定義過渡動畫
4.2.4 實例: 使用HUAnimator自定義過渡動畫框架
4.3 UIKit力學
4.3.1 UIKit力學基本框架
4.3.2 力學行為特性
4.3.3 實例: UIKit力學
4.4 運動效果
4.5 Core Animation框架
4.5.1 圖層
4.5.2 隱式動畫
4.5.3 顯式動畫
4.5.4 關鍵幀動畫
4.5.5 使用路徑
本章小結
第5章 音頻
5.1 音頻檔案簡介
5.2 音頻API簡介
5.3 AVFoundation框架實現音頻錄製與播放
5.3.1 音頻播放
5.3.2 音頻錄製
5.3.3 語音合成
5.4 使用System Sound API
5.4.1 播放系統聲音
5.4.2 發出警告提醒
5.4.3 振動
本章小結
第6章 視頻
6.1 視頻檔案簡介
6.2 播放視頻
6.2.1 使用MediaPlayer框架
6.2.2 使用AVFoundation框架
6.3 錄製視頻
6.3.1 使用UIImagePickerController
6.3.2 使用AVFoundation框架
6.4 編輯視頻
本章小結
第7章 流媒體技術
7.1 網路多媒體技術
7.1.1 漸進式下載
7.1.2 實時流媒體
7.2 漸進式下載開發
7.3 實時流媒體開發
7.3.1 媒體檔案的分割與處理
7.3.2 搭建HLS流媒體伺服器
7.3.3 使用本地技術開發客戶端
7.3.4 使用Hybrid技術開發客戶端
本章小結
第8章 AirPlay技術
8.1 AirPlay技術簡介
8.1.1 支持AirPlay的設備
8.1.2 多媒體檔案支持
8.2 AirPlay開發
8.2.1 MPMoviePlayerController
8.2.2 AVPlayer
8.2.3 UIWebView
本章小結
第9章 訪問iPod媒體庫
9.1 訪問iPod媒體庫相關API
9.2 訪問與控制iPod媒體庫
9.2.1 控制iPod媒體庫播放
9.2.2 查看媒體信息
9.2.3 通知
9.3 搜尋iPod媒體庫
9.4 iPod媒體庫選擇器
本章小結
第10章 51CTO學院視頻流媒體伺服器與iPad客戶端敏捷開發實戰
10.1 套用分析與設計
10.1.1 套用簡介
10.1.2 需求分析
10.1.3 原型設計
10.1.4 架構設計
10.1.5 資料庫設計
10.1.6 網路拓撲圖
10.2 iOS敏捷開發
10.2.1 敏捷開發宣言
10.2.2 iOS是否可以敏捷開發
10.2.3 iOS敏捷開發*佳實踐
10.3 任務1: 環境搭建
10.3.1 任務1.1:iPad客戶端環境搭建
10.3.2 任務1.2:Apache Server搭建
10.3.3 任務1.3:HLS流媒體伺服器搭建
10.3.4 任務1.4:MySQL資料庫伺服器搭建
10.3.5 任務1.5:phpMyAdmin管理工具的配置
10.4 任務2: 信息系統層開發
10.4.1 任務2.1:創建資料庫對象
10.4.2 任務2.2:導入測試數據
10.5 任務3: 業務邏輯層開發
10.5.1 任務3.1:業務邏輯類
10.5.2 任務3.2:伺服器端輔助對象Skeleton
10.6 任務4: 表示層開發
10.6.1 任務4.1:客戶端輔助對象Stub
10.6.2 任務4.2:根據原型設計初步設計iPad故事板
10.6.3 任務4.3:首頁模組UI設計
10.6.4 任務4.4:首頁視圖控制器代碼編寫
10.6.5 任務4.5:首頁到詳細頁的過渡
10.6.6 任務4.6:詳細模組UI設計
10.6.7 任務4.6.1:主題顏色帶
10.6.8 任務4.6.2:課程類別2列表
10.6.9 任務4.6.3:課程內容
10.6.10 任務4.7:詳細視圖控制器代碼編寫
本章小結