Intermediate iOS Programming with Swift
進階iOS8密技登場!超人氣AppCoda技術部落格作家
再次帶來最炫目的iOS8 + Swift獨家開發技術
iOS以及其App的設計都很精美。但是為何大多數的技術書籍看起來跟一般的教科書沒有兩樣?
我相信一本視覺效果令人賞心悅目的書籍,會讓程式語言的學習更有效率且容易。
-Simon Ng
本書是作者集結廣受歡迎的iOS8教學文章,並收納數千名讀者的意見編寫而成。
進階課程是專為有Swift程式語言經驗的開發者,以及有興趣開發App的讀者來設計的。倘若你有一些Swift的經驗,這本書對你絕對有幫助。
內容使用iOS8 Swift與Xcode開發,採用「問題與解決方案」的方法來進行API 與 iOS SDK框架的探討,每一章會以一個(或兩個)具特色且有深度的程式範例來說明。
書中的一些技巧以及解決方案將會幫助你學到更多有關iOS 8程式,美化UI視覺設計元件,並且強化你快速打造全方位App的能力。
拿起這本書,你將學到:
☑ 打造自適應UI (Adaptive UI)
☑ 在UITableView加入區塊與索引列表
☑ 讓表格視圖Cell動起來
☑ 如何讀取與解析JSON
☑ 如何整合Twitter與Facebook 分享功能
☑ 如何在Email附加檔案
☑ 簡訊(SMS)與媒體簡訊(MMS)傳送
☑ 要如何在地圖上取得方向與繪畫路徑
☑ 使用Local Search API搜尋附近興趣點
☑ 音訊錄製與播放
☑ 使用AVFoundation 框架進行QR Code掃描
☑ URL Scheme運用
☑ 相機的運用
☑ 使用AVKit 實做錄影與播放
☑ 使用iAd播放廣告
☑ 使用客製化字型
☑ AirDrop
☑ 使用集合視圖建立網格佈局
☑ 與集合視圖互動
☑ 自適應集合視圖
☑ 打造一個「Today」Widget
☑ 側邊選單製作
☑ 視圖控制器轉換以及動畫
☑ 建立一個下滑選單
☑ Cell尺寸的自動調整與動態型態
☑ XML 解析與RSS
☑ 使用UIVisualEffect 來應用模糊背景
☑ 使用 Touch ID 驗證
☑ 建構一個類似轉盤的使用者介面
☑ 用Parse 幫App加上雲端後台
最新工具開發
使用最新版iOS8+Swift+Xcode進行應用程式開發
實作快速上手
提供多樣的程式碼演練與專案動手實作機會
通用開發指南
適用iPhone/iPad/iPodTouch的iOS App產品
程式完整測試
程式可通過iOS8模擬器以及iPhone實機測試
作者簡介:
Simon Ng
軟體工程師,AppCoda 創辦人。著有《養成iOS 7 App程式設計實力的30堂課》,
以及《養成iOS 8 App程式設計實力的25堂課-最新Swift 開發教學》。
畢業於香港中文大學電子工程系,曾任職於HSBC, FedEx等公司,專責軟體開發、系統設計。
2012年創立AppCoda技術部落格,定期發表iOS程式教學文章,其部落格每月吸引20多萬名讀者點閱。
現時致力於iOS程式教學,產品設計及開發,希望幫助更多人進入iOS的程式世界,打做屬於自己的App。
網站: http://www.appcoda.com
譯者簡介:
王豪勳
畢業於台灣大學應用力學研究所,曾在半導體產業服務多年,
近年來專注於協助客戶進行App軟體以及網站開發,
平常致力於研究各式最新軟硬體技術,擁有多本譯作。
目錄
Chapter 01 打造自適應UI(Adaptive UI)
1.1 iOS 8的自適應使用者介面
1.2 自適應UI展示
1.3 建立Xcode專案
1.4 增加 Auto Layout 約束條件
1.5 尺寸類別(Size Classes)
1.6 使用尺寸類別替字型客製化
1.7 使用尺寸類別自訂一個視圖設計
1.8 使用尺寸類別來客製化約束條件
1.9 總結
Chapter 02 在UITableView加入區塊與索引列表
2.1 表格區塊與索引列表
2.2 索引列表範例App簡述
2.3 使用Xcode 專案模板
2.4 在UITableView 中顯示區塊
2.5 UITableView加入索引列表
2.6 加上 A-Z 索引清單
2.7 客製化區塊標題
2.8 本章小結
Chapter 03 讓表格視圖Cell動起來
3.1 表格視圖Cell動畫
3.2 為表格視圖cell加入簡單的淡入動畫
3.3 使用CATRANSFORM3D建立旋轉特效
3.4 使用CATransform3DTranslate建立飛入特效
3.5 你的作業
3.6 本章小節
Chapter 04 如何讀取與解析JSON
4.1 JSON概述
4.2 以一個貸款App來示範JSON的解析
4.3 建立JSON資料模型
4.4 使用KIVA API取得貸款資料
4.5 在表格視圖顯示貸款資料
4.6 編譯與執行
Chapter 05 如何整合 Twitter與 Facebook 分享功能
5.1 社群框架概要
5.2 建立範例專案與介面設計
5.3 加入 Twitter 支援
5.4 加上 Facebook 支援
5.5 本章小節
Chapter 06 如何在Email附加檔案
6.1 使用MessageUI 框架附加檔案
6.2 從Xcode專案模板開始
6.3 使用 MessageUI框架建立Email
Chapter 07 簡訊(SMS)與媒體簡訊(MMS)傳送
7.1 MessageUI 框架也支援SMS
7.2 一睹範例App
7.3 開始建立專案
7.4 實作代理(Delegate)
7.5 帶出訊息編輯器
7.6 MMS的傳送
7.7 不想要在App 內傳送SMS的做法
7.8 本章小結
Chapter 08 要如何在地圖上取得方向與繪畫路徑
8.1 MKDirections API
8.2 路徑範例 App
8.3 在導覽欄中加入一個方向按鈕
8.4 幫Direction按鈕建立一個動作方法
8.5 在地圖上顯示使用者位置
8.6 使用模擬器測試位置
8.7 使用 MKDirections API來取得路徑資訊
8.8 調整地圖比例讓路徑搭配更完美
8.9 使用分段控制
8.10 顯示路徑步驟
Chapter 09 使用Local Search API搜尋附近興趣點
9.1 Local Search API
9.2 Local Search 範例 App
9.3 在 Storyboard 中加入Nearby 按鈕
9.4 搜尋附近餐廳並加入標註
9.5 測試範例App
Chapter 10 音訊錄製與播放
10.1 AVFOUNDATION 框架
10.2 簡單的範例App
10.3 使用AVAudioRecorder進行音訊錄製
10.4 實作錄製按鈕
10.5 實作Stop按鈕
10.6 AVAudioRecorderDelegate 協定的實作
10.7 使用AVAudioPlayer 播放Audio
10.8 實作AVAudioPlayerDelegate 協定
10.9 編譯與執行你的App
Chapter 11 使用AVFoundation框架進行QR Code掃描
11.1 QR Code 概述
11.2 建立一個QR Code 讀取器App
11.3 導入AVFoundation 框架
11.4 實作影像擷取
11.5 實作 QR Code 讀取功能
11.6 你的作業–條碼閱讀器
Chapter 12 URL Scheme運用
12.1 URL Scheme 介紹
12.2 QR Code 範例
12.3 使用URL Schemes
12.4 建立客製化的URL Scheme
Chapter 13 相機的運用
13.1 使用 AVFoundation 框架做影像擷取
13.2 相機App
13.3 設置一個 Session
13.4 選擇輸入裝置
13.5 設置輸出裝置
13.6 使用Session 協調輸入與輸出裝置
13.7 建立預覽層(Preview layer)並開始Session
13.8 擷取靜態圖像
13.9 前後相機鏡頭的切換
13.10 鏡頭的縮放
13.11 儲存圖片至相簿
Chapter 14 使用AVKit實做錄影與播放
14.1 AVFoundation 框架與 AVKit
14.2 設置Session
14.3 選擇輸入裝置
14.4 設置輸出裝置
14.5 使用session協調輸入與輸出
14.6 建立一個預覽層並開始Session
14.7 儲存影片資料至影片檔
14.8 使用 AVKit來播放影片
14.9 實作AVCaptureFileOutputRecordingDelegate 協定
Chapter 15 使用iAd播放廣告
15.1 iAd介紹
15.2 使用iAd 框架
15.3 播放橫幅廣告
15.4 播放插播廣告
15.5 在其他位置播放橫幅廣告
15.6 顯示/隱藏橫幅廣告
Chapter 16 使用客製化字型
16.1 在iOS App中使用客製化字型
16.2 下載客製字型
16.3 加入字型檔至專案中
16.4 在專案 info 設定中註冊字型
16.5 在介面建構器中使用客製化字型
16.6 在程式中使用客製字型
Chapter 17 AirDrop
17.1 AirDrop概述
17.2 掌握UIActivityViewController
17.3 AirDrop範例App一覽
17.4 在介面建構器上加上分享按鈕
17.5 加入 AirDrop 功能
17.6 建立與執行AirDrop App範例
17.7 統一格式識別器(Uniform Type Identifier)
17.8 本章小結
Chapter 18 使用集合視圖建立網格佈局
18.1 使用集合視圖建立網格佈局
18.2 UICollectionView 與 UICollectionViewController
18.3 建立一個新的集合視圖專案
18.4 建立自訂類別
18.5 實作集合視圖控制器
18.6 集合Cell 背景客製化
Chapter 19 與集合視圖互動
19.1 處理集合視圖Cell的選取動作
19.2 資料傳遞
19.3 複選動作的處理
Chapter 20 自適應集合視圖
20.1 自適應集合視圖
20.2 建立範例專案
20.3 深入程式部分
20.4 尺寸類別設計
20.5 認識特徵集合(Trait Collection)
20.6 自適應集合視圖
20.7 對尺寸類別變更的回應
20.8 你的作業
Chapter 21 打造一個「Today」Widget
21.1 了解App外掛程式的運作
21.2 「Today」的外掛程式
21.3 以嵌入式框架分享程式碼
21.4 建立嵌入框架
21.5 搬移一般檔案至框架中
21.6 建立Today Widget
21.7 與容器App間的資料分享
Chapter 22 側邊選單製作
22.1 側邊選單介紹
22.2 一睹滑動導覽選單範例App
22.3 建立Xcode專案
22.4 使用SWRevealViewController 函式庫
22.5 關聯前後視圖控制器
22.6 選單項目選取的實作
22.7 選單客製化
Chapter 23 視圖控制器轉換以及動畫
23.1 視圖控制器轉換API
23.2 轉換動畫範例App
23.3 應用標準轉換(Standard Transition )
23.4 建立下滑動畫
23.5 逆向轉換(Reversing The Transition)
23.6 建立向右滑動轉換動畫
23.7 建立一個彈出轉換動畫
23.8 建立一個旋轉轉換動畫
Chapter 24 建立一個下滑選單
24.1 生動的下滑選單
24.2 以Modal 方式呈現選單
24.3 建立生動的下滑選單
24.4 建立下滑選單動畫
24.5 偵測按下手勢
Chapter 25 Cell尺寸的自適應與動態型態
25.1 Self Sizing Cell與動態型態介紹
25.2 建構一個簡單的範例
25.3 加入Auto Layout約束條件
25.4 設定列高
25.5 動態型態介紹
25.6 採用動態型態
25.7 回應文字尺寸的變更
25.8 使用自訂字型
Chapter 26 XML 解析與RSS
26.1 使用NSXMLParser 解析XML
26.2 RSS閱讀器範例App
26.3 一個簡單的RSS 摘要(Feed)
26.4 建立FeedParser
Chapter 27 使用UIVisualEffect來應用模糊背景
27.1 UIVisualEffect
27.2 模糊特效範例App
27.3 了解UIVisualEffect 與 UIVisualEffectView
27.4 加入一個背景圖像視圖
27.5 實現模糊特效
Chapter 28 使用 Touch ID 驗證
28.1 Touch ID與Local Authentication介紹
28.2 Touch ID範例App
28.3 設計使用者介面
28.4 使用 Local Authentication 框架
28.5 密碼驗證
Chapter 29 建構一個似轉盤的使用者介面
29.1 轉盤設計
29.2 Storyboard設計
29.3 建立一個自訂類別給集合視圖Cell
29.4 建立Model 類別
29.5 將資料填入集合視圖中
29.6 處理「Like」按鈕
Chapter 30 用Parse 幫App加上雲端後台
30.1 Parse的介紹
30.2 在Parse建立你的App
30.3 設定你的資料
30.4 在Xcode設定Parse
30.5 建立橋接標頭檔(Bridging Header)
30.6 連上Parse
30.7 從Parse 讀取資料
30.8 資料刷新
30.9 快取速度與離線存取
30.10 更新Parse上的資料
30.11 從Parse中刪除資料
Chapter 01 打造自適應UI(Adaptive UI)
1.1 iOS 8的自適應使用者介面
1.2 自適應UI展示
1.3 建立Xcode專案
1.4 增加 Auto Layout 約束條件
1.5 尺寸類別(Size Classes)
1.6 使用尺寸類別替字型客製化
1.7 使用尺寸類別自訂一個視圖設計
1.8 使用尺寸類別來客製化約束條件
1.9 總結
Chapter 02 在UITableView加入區塊與索引列表
2.1 表格區塊與索引列表
2.2 索引列表範例App簡述
2.3 使用Xcode 專案模板
2.4 在UITableView 中顯示區塊
2.5 UITableView加入索引列表
2.6 加上 A-Z 索引清單
2.7 客製化...