《iOS開發從入門到精通》一書以iOS 9.0、Xcode 6.4為平臺,全面介紹了iOS應用開發的基礎知識。掌握Objective-C語言是iOS應用開發的基礎,全書從Objective-C基本語法開始,詳細講解了Objective-C語法結構、Objective-C面向對象特征、Foundation核心類庫用法,iOS應用開發的基本理論,以及iOS應用和編程技巧,主要包括iOS應用核心、窗口和視圖、事件處理、視圖控制器繪圖、文件、SQLite、數據處理、網絡、多媒體、設備支持、游戲開發等內容。本書還提供了很多開發應用案例,模仿練習這些案例,能夠幫助用戶快速地找到實戰的感覺。
《iOS開發從入門到精通》內容翔實、結構清晰、循序漸進,基礎知識與案例實戰緊密結合,既可作為iOS初學者的入門教材,也適合中高級用戶對新技術做進一步的學習和參考。
網絡開發視頻大講堂叢書系清華社視頻大講堂重點大系之一。該大系包括多個子系列,每個子系列的圖書在其同品種的圖書中銷售名列前茅,其中: 4個品種榮獲全行業暢銷品種1個品種榮獲2012年清華大學出版社專業熱銷書一等獎絕大多數品種在計算機零售圖書排行榜同品種排行中名列前茅截至目前該大系累計銷售超過55萬冊該大系已成為近年來清華社計算機專業基礎類零售圖書熱銷的品牌之一網絡開發視頻大講堂系列作為清華社視頻大講堂大系的子系列之一,繼承和創新了清華社視頻大講堂大系的編寫模式、寫作風格和優良品質。本書突出了以下內容:200節大型高清同步視頻演示講解,可反復觀摩,讓學習更為快捷、高效102個典型中小實例,通過實例學習更深入,更有趣,更有動力4個綜合實戰案例,展現工作過程,積累工作經驗 iOS軟件代碼規范1部,Objective-C編碼規范1部,iOS參考資料5類,iOS功能代碼參考16類,iOS面試題5部分,iOS開發工具集合網頁文檔1部,iOS開發類庫網頁文檔1部,iOS資源網頁文檔1部 實用網頁模板380套,網頁配色辭典1部,協調色配色參考7套,網頁色彩搭配圖43張,不同色系實物配色卡540張,實用配色參考18部,網頁設計素材13類 HTML工具集6部,CSS工具集8部,JavaScript工具集16部,PS幫助手冊1部 HTML應用案例360個,CSS3應用案例510個,JavaScript jQuery應用案例900個,網頁交互設計案例1000個 Web前端開發規范手冊1部,JavaScript知識點思維導圖10張,HTML CSS面試題351道,JavaScript面試題685道,網頁欣賞
前 言:
隨著4G網絡和移動互聯網技術的普及,以蘋果iOS為代表的移動應用開發方興未艾。蘋果應用商店影響著各行各業,擁有超過30萬個應用可供用戶隨意下載,每天有成百上千的iOS開發者跟隨潮流,各種新奇的應用不斷涌現,商店中造就了很多富翁,如果您真的有意從事iOS開發,并想通過好的軟件設計讓開發工作更加高效,那么就應該閱讀本書。
學習新的編程語言絕非易事,一旦學會開發iOS應用程序,就很容易被它優美的設計和結構所打動。這種優美來自設計者的深思熟慮,通過把各種為人熟知或不為人知的設計模式應用到框架的各種基礎結構之中,為開發者提供了很好的可擴展性與靈活性。
對于一個多年奮戰在移動應用開發第一線的人來說,iOS開發是一個全新的領域。本書旨在成為iOS開發的權威指南,引導讀者了解如何在iOS平臺上以Objective-C語言實現開發。
本書特色
·系統的基礎知識
全書兼顧理論和技術,以理論為綱,以技術為體,旨在向讀者介紹iOS開發相關的知識,并以循序漸進的方式提高學習者的開發技能。讀者只需通過24章內容的學習,就能掌握所有iOS基礎知識。
·可操作的實戰體驗
本書通過大量的案例實戰,直觀引導上機練習。所有的程序都經過作者認真調試,可以直接運行。讀者不可能在一夜之間就開發出iOS應用程序,但是只要多加練習,完全可以在幾天之內編寫出初級應用程序。相信在蘋果開發工具上花費的時間越多,創建出激動人心的應用程序的可能性就越大。
·講解深入淺出
全書很多內容來自編者多年開發的經驗。根據iOS開發的實際情況,針對新版本進行內容上的調整。全書實例豐富,講解到位,代碼分析詳細,實用性強。作為編程類書籍,免不了有大量的代碼,但本書對多數代碼都進行了闡釋。
·結構完整
本書以iOS開發為主題,由淺入深介紹了整個iOS框架層次,包括Objective-C語言簡介、SDK的構成、Foundation框架、UIKit框架、QuartzCore、Core Animation以及其他第三方擴展框架等。
·同步視頻講解,海量資源贈送
本書光盤中包含書中范例的同步視頻講解、源文件及大量參考素材(由于光盤容量有限,部分資源需登陸出版社網站按指定地址下載)。掃描圖書封底的二維碼,可在手機中在線學習教學視頻。
本書內容
本書共24章,具體結構劃分如下。
第1部分:Objective-C語言部分,包括第1~7章。這部分內容主要介紹了Objective-C相關基礎知識,包括iOS開發基礎,Objective-C基本語法、數據類型、運算符、語句、C特性、類、協議和對象。
第2部分:iOS部分,包括第8~20章。這部分內容主要講解iOS開發相關框架和各種應用主題。主要內容包括Foundation框架、iOS開發入門、窗口和視圖、視圖控制器、事件、iOS控件詳解、繪圖、動畫、多媒體、設備管理、文件操作、數據庫操作等。
第3部分:案例部分,包括第21~24章。這部分內容主要通過4個案例具體演示iOS應用程序開發的過程。
本書讀者
本書適合以下讀者:
·從未接觸過Objective-C語言的初學者。
·希望在蘋果應用商店淘金的創業人員。
·從其他語言轉向iOS開發的程序員。
·正準備轉向移動應用開發的 iOS 應用程序開發人員。
本書約定
本書是為從未進行過iOS開發的讀者而寫的,讀者不需要有Objective-C、Cocoa和Apple開發工具方面的經驗。當然,如果有一定的開發經驗,將更容易掌握這些工具和技術。
讀者在閱讀每章的內容時,應該事必躬親,手動輸入每行代碼,同時應該理解每一節中的重要概念。另外。讀者還需花時間閱讀APP開發文檔,并研究本書介紹的主題。有關iOS開發的信息浩如煙海,而本書的篇幅有限,只能為讀者打下堅實的iOS開發基礎。
閱讀本書之前,讀者需要已安裝蘋果Mac OS X 10.10.x以上版本操作系統的計算機,PC也可以安裝Mac OS X,或根據系統情況和需要選擇安裝iPhone SDK軟件包,可以在http://developer.apple.com/ iphone/program/download.html免費下載。
本書所有示例都是用Mac OS X 10.10上的Xcode 6.4以及iOS 9開發的。讀者需要一個蘋果開發人員賬戶來訪問大部分工具和文檔,并且需要一個開發人員許可證來運行iOS設備上的應用程序。可參考https://developer.apple.com/programs/并注冊賬號。本書中大部分示例可以在Xcode 6.4的iOS模擬器中運行。使用iOS模擬器就不需要蘋果開發人員許可證了。當然,如果讀者需要把自己開發的程序放在App Store上銷售,還需要花費99美元去購買許可證。
蘋果網站上提供了大量文檔。如果想在Xcode中尋找文檔,請在Help菜單下選擇Documentation and API Reference,在Documentation Organizer窗口中單擊搜索圖標,輸入文檔的標題,并從搜索結果中選擇文檔。如果想在蘋果官方網站查找文檔,可以訪問https://developer.apple.com/,單擊Member Center并登錄,選擇iOS Dev Center,并在搜索框中輸入文檔關鍵詞即可。
編 者
作者簡介:劉燕,國內知名iOS技術作家,iOS技術顧問,高級培訓講師,移動開發專家。曾擔任過51CTO社區iOS技術顧問,精通iOS、Android和HTML5等移動開發技術。先后主持開發過多網絡游戲的iOS和Android客戶端開發,在App Store上發布多款游戲和應用軟件,擅長移動平臺的應用和游戲類項目開發。長期為中國移動研究院、云南移動、東軟、方正科技、惠普、NTT、深圳康拓普、上海財富168、天津港務局、福州軟件園、廣州軟件園等企事業單位授課。
目 錄:
第1章
iOS基礎
視頻講解:23分鐘
1.1 iOS發展歷史
1.2 iOS特性
1.3 iOS架構
1.3.1 Cocoa Touch層
1.3.2 媒體層
1.3.3 Core Services層
1.3.4 Core OS層
1.4 Objective-C概述
1.5 比較iOS和Mac OS
1.5.1 UIKit與AppKit的對比
1.5.2 Foundation框架的差異
1.5.3 其他框架的改變
1.6 iOS開發環境和工具
1.6.1 了解Xcode
1.6.2 Xcode導航面板
1.6.3 Xcode檢查器面板
1.6.4 Xcode庫面板
1.6.5 使用幫助
1.7 使用Xcode
1.7.1 案例:編寫第一個Objective-C程序
1.7.2 案例:創建第一個項目
1.8 小結
第2章
數據類型和運算符
視頻講解:88分鐘
2.1 數據類型分類
2.2 簡單數據類型
2.2.1 整型
2.2.2 案例:輸出格式字符
2.2.3 浮點型
2.2.4 字符型
2.2.5 案例:定義字符串
2.2.6 枚舉型
2.2.7 布爾型
2.3 類型轉換
2.3.1 案例:自動類型轉換
2.3.2 案例:強制類型轉換
2.3.3 案例:自動提升
2.4 運算符
2.4.1 運算符分類
2.4.2 運算優先級
2.4.3 算術運算符
2.4.4 賦值運算符
2.4.5 位運算符
2.4.6 比較運算符
2.4.7 邏輯運算符
2.4.8 逗號運算符
2.4.9 條件運算符
2.5 小結
第3章
控制語句
視頻講解:44分鐘
3.1 條件語句
3.1.1 if語句
3.1.2 案例:分支語句應用
3.1.3 switch語句
3.2 循環語句
3.2.1 while語句
3.2.2 do-while語句
3.2.3 for語句
3.2.4 案例:for語句應用
3.2.5 案例:嵌套循環
3.3 控制語句
3.3.1 break語句
3.3.2 continue語句
3.3.3 return語句
3.3.4 案例:使用goto語句
3.4 預處理命令
3.4.1 宏定義
3.4.2 運算符
3.4.3 #import語句
3.4.4 條件編譯
3.5 小結
第4章
C語言特性
視頻講解:122分鐘
4.1 數組
4.1.1 定義數組
4.1.2 初始化數組
4.1.3 使用數組
4.1.4 定義多維數組
4.1.5 初始化多維數組
4.1.6 使用字符數組
4.1.7 案例實戰
4.2 函數
4.2.1 定義函數
4.2.2 聲明函數
4.2.3 函數類型
4.2.4 函數參數
4.2.5 函數返回值
4.2.6 案例實戰
4.3 塊
4.3.1 定義塊
4.3.2 塊作用域
4.3.3 使用塊變量類型
4.4 結構
4.4.1 定義結構
4.4.2 使用typedef
4.4.3 初始化結構
4.4.4 使用結構體數組
4.4.5 嵌套結構
4.5 指針
4.5.1 認識指針
4.5.2 定義指針變量
4.5.3 指針的基本運算
4.5.4 指針變量作為函數參數
4.5.5 對象和指針的關系
4.6 數組和指針
4.6.1 指向數組的指針變量
4.6.2 指針運算
4.6.3 案例實戰
4.7 案例應用
4.7.1 使用字符串指針
4.7.2 使用函數指針
4.8 小結
第5章
類
視頻講解:107分鐘
5.1 定義類
5.1.1 認識類
5.1.2 接口
5.1.3 實現
5.1.4 案例:定義類
5.2 使用類
5.2.1 實例化
5.2.2 指針
5.2.3 self
5.2.4 id類型
5.2.5 類名的使用
5.2.6 類的比較
5.3 變量
5.3.1 局部變量
5.3.2 全局變量
5.3.3 實例變量
5.3.4 靜態變量
5.3.5 變量的存儲類別
5.3.6 案例:定義單例類
5.3.7 案例:定義類變量
5.4 屬性
5.4.1 屬性的聲明
5.4.2 屬性的實現
5.4.3 屬性類型和相關函數
5.4.4 屬性類型編碼
5.4.5 屬性重聲明
5.4.6 子類中的屬性
5.4.7 案例:使用封裝
5.4.8 案例:使用訪問控制符
5.4.9 案例:合成存取
5.4.10 案例:點語法存取
5.5 方法
5.5.1 定義方法
5.5.2 方法的所屬性
5.5.3 案例:設計可變形參的方法
5.6 繼承
5.6.1 繼承實例變量
5.6.2 方法的繼承
5.6.3 方法的重寫
5.6.4 類別和擴展
5.6.5 案例:類繼承
5.6.6 案例:重寫
5.6.7 案例:使用super關鍵字
5.7 異常處理
5.7.1 啟用異常處理
5.7.2 異常處理
5.7.3 捕捉不同類型的異常
5.7.4 拋出異常
5.8 類型
5.8.1 靜態指定類型
5.8.2 類型的自查
5.9 根類
5.9.1 NSObject簡介
5.9.2 根類和協議
5.9.3 根類方法
5.9.4 根類接口規范
5.9.5 根類實例方法和類方法
5.10 小結
第6章
消息和協議
6.1 消息
6.1.1 定義消息
6.1.2 發送消息
6.1.3 接收實例變量
6.1.4 獲取方法地址
6.1.5 objc_msgSend()函數
6.1.6 使用隱藏的參數
6.1.7 消息轉發
6.1.8 消息轉發與多重繼承
6.1.9 消息代理對象
6.1.10 消息轉發與類繼承
6.1.11 多態性
6.1.12 動態綁定
6.1.13 解析動態方法
6.1.14 動態加載
6.1.15 .語法格式
6.2 協議
6.2.1 預定義聲明接口
6.2.2 預定義方法
6.2.3 聲明接口
6.2.4 非層級相似性
6.2.5 正式協議
6.2.6 非正式協議
6.2.7 協議對象
6.2.8 采用協議
6.2.9 服從協議
6.2.10 類型校驗
6.2.11 嵌套協議
6.2.12 引用其他協議
6.3 小結
第7章
對象
7.1 創建對象
7.1.1 分配對象
7.1.2 初始化對象
7.1.3 dealloc方法
7.1.4 類工廠方法
7.2 對象動態類型
7.3 對象可變性
7.3.1 可變或不可變對象
7.3.2 用可變對象編程
7.4 對象通信
7.4.1 面向對象程序中的通信
7.4.2 IBoutlet變量
7.4.3 委托和數據源
7.4.4 目標-動作機制
7.4.5 綁定
7.4.6 通告
7.5 使用對象
7.5.1 對象所有權策略
7.5.2 保留計數
7.5.3 自動釋放
7.5.4 共享對象的有效性
7.5.5 存取方法
7.5.6 回收對象
7.5.7 通過引用返回的對象
7.6 小結
第8章
Foundation框架基礎
視頻講解:133分鐘
8.1 認識Foundation框架
8.2 使用Foundation框架
8.3 數字類型
8.3.1 數字類型類NSNumber
8.3.2 比較int、NSInteger、NSUInteger和NSNumber
8.4 字符串類型
8.4.1 不可變字符串類NSString
8.4.2 可變字符串類NSMutableString
8.4.3 案例實戰
8.5 日期類型
8.5.1 日期類型類NSDate
8.5.2 NSCalendar和NSDateComponents
8.5.3 案例實戰
8.6 數組類型
8.6.1 不可變數組類NSArray
8.6.2 可變數組類NSMutableArray
8.6.3 多維數組
8.6.4 案例:操作數組
8.6.5 案例:操作元素
8.6.6 案例:數組排序
8.6.7 案例:遍歷數組
8.6.8 案例:快速枚舉
8.6.9 案例:可變數組
8.7 字典類型
8.7.1 不可變字典類NSDictionary
8.7.2 可變字典類NSMutableDictionary
8.7.3 案例:使用字典
8.7.4 案例:字典排序
8.7.5 案例:字典過濾
8.7.6 案例:使用可變字典
8.8 案例實戰:集合類型
8.8.1 使用NSSet
8.8.2 檢測NSSet重復值
8.8.3 可變集合
8.8.4 計數集合
8.8.5 有序集合
8.9
小結
第9章
iOS應用開發核心
9.1 iOS應用架構
9.1.1 生命周期
9.1.2 主函數
9.1.3 應用委托
9.1.4 nib文件
9.1.5 事件處理周期
9.1.6 基本設置模式
9.2 運行環境處理機制
9.2.1 快速啟動
9.2.2 安全處理
9.2.3 內存處理
9.2.4 節電處理
9.3 程序包
9.3.1 信息屬性
9.3.2 程序圖標和啟動圖像
9.4 定制行為
9.4.1 景觀模式啟動
9.4.2 與其他程序通信
9.4.3 URL模式
9.4.4 處理URL請求
9.4.5 偏好設置
9.4.6 關閉鎖定
9.5 鍵盤管理
9.5.1 接收鍵盤通告
9.5.2 顯示鍵盤
9.5.3 取消鍵盤
9.5.4 移動鍵盤
9.6 國際化
9.7 優化處理
9.7.1 不要阻塞主線程
9.7.2 有效使用內存
9.7.3 減少內存印跡
9.7.4 恰當分配內存
9.7.5 浮點運算
9.7.6 減少電力消耗
9.7.7 代碼優化
9.8 小結
第10章
iOS開發入門
視頻講解:63分鐘
10.1 熟悉iOS項目
10.1.1 文件結構
10.1.2 新建xib界面文件
10.1.3 認識xib界面
10.1.4 添加控件
10.1.5 編輯控件屬性
10.1.6 UIView屬性
10.1.7 UILabel屬性
10.2 iOS運行機制
10.2.1 了解MVC
10.2.2 入口函數
10.2.3 應用程序委托
10.2.4 視圖控制器
10.3 事件處理機制
10.3.1 獲取控件
10.3.2 事件處理
10.4 故事板
10.5 案例實戰
10.5.1 動態更新文本
10.5.2 添加和刪除控件
10.5.3 設計跟隨手指的小球
10.5.4 設計應用項目圖標
10.5.5 設計歡迎界面
10.6 小結
第11章
窗口和視圖
11.1 認識窗口和視圖
11.1.1 窗口
11.1.2 視圖
11.1.3 視圖控制器
11.2 視圖架構
11.2.1 視圖交互模型
11.2.2 視圖渲染架構
11.2.3 Core Animation
11.2.4 視圖的層
11.2.5 動畫支持
11.2.6 視圖坐標系統
11.2.7 邊框、邊界和中心
11.2.8 坐標系統變換
11.2.9 內容模式與比例縮放
11.2.10 自動尺寸調整
11.3 創建和管理視圖層次
11.3.1 視圖層次
11.3.2 創建視圖對象
11.3.3 添加和移除子視圖
11.3.4 坐標轉換
11.3.5 標識視圖
11.4 動態控制視圖
11.4.1 實現視圖動畫
11.4.2 配置動畫的參數
11.4.3 配置動畫的委托
11.4.4 響應布局的變化
11.4.5 重畫視圖的內容
11.4.6 隱藏視圖
11.5 創建定制視圖
11.5.1 初始化定制視圖
11.5.2 描畫視圖內容
11.5.3 響應事件
11.5.4 清理視圖對象
11.6 小結
第12章
視圖控制器
視頻講解:43分鐘
12.1 視圖控制器基礎
12.1.1 視圖控制器的功能
12.1.2 屏幕、窗口和視圖元素
12.1.3 視圖管理機制
12.1.4 視圖控制器分類
12.1.5 內容展示方式
12.1.6 視圖控制器混合應用
12.2 視圖控制器生命周期
12.2.1 初始化視圖
12.2.2 加載和卸載視圖
12.3 標準視圖控制器
12.3.1 標準視圖控制器概述
12.3.2 使用標準視圖控制器
12.4 分割視圖控制器
12.4.1 分割視圖控制器概述
12.4.2 使用分割視圖控制器
12.5 導航控制器
12.5.1 導航控制器概述
12.5.2 使用導航控制器
12.6 選項卡控制器
12.6.1 選項卡控制器概述
12.6.2 使用選項卡控制器
12.7 頁視圖控制器
12.7.1 頁視圖控制器概述
12.7.2 使用頁視圖控制器
12.8 小結
第13章
事件
13.1 觸摸事件
13.1.1 觸摸模型
13.1.2 觸摸與事件
13.1.3 事件傳遞
13.1.4 事件響應過程
13.1.5 事件處理方法
13.1.6 案例:處理多點觸摸事件
13.1.7 案例:檢測碰擦手勢
13.1.8 案例:處理復雜多點觸摸序列
13.2 運動事件
13.3 復制、剪切和粘貼
13.3.1 認識粘貼板
13.3.2 數據表示
13.3.3 選擇菜單
13.3.4 復制和剪切
13.3.5 粘貼
13.3.6 消除菜單
13.4 小結
第14章
使用控件(上)
視頻講解:117分鐘
14.1 UIKit概述
14.1.1 視圖分類
14.1.2 應用界面構成
14.1.3 UIView視圖
14.1.4 UIControl控件
14.2 按鈕
14.2.1 添加按鈕
14.2.2 案例:定義按鈕
14.2.3 案例:配合使用標簽和按鈕
14.3 文本框
14.3.1 添加文本框
14.3.2 案例:設計登錄表單
14.3.3 案例:關閉虛擬鍵盤
14.4 多行文本
14.4.1 添加多行文本框
14.4.2 案例:設計內容簡介表單
14.4.3 案例:設計導航按鈕控制虛擬鍵盤
14.4.4 案例:自定義虛擬鍵盤鍵
14.4.5 案例:自定義快捷編輯菜單
14.5 開關按鈕
14.5.1 添加開關按鈕
14.5.2 案例:使用開關按鈕控制界面背景
14.6 分段控件
14.6.1 添加分段控件
14.6.2 案例:使用分段控件控制界面背景
14.6.3 案例:動態控制分段控件
14.7 滑塊控件
14.7.1 添加滑塊控件
14.7.2 案例:設計控件
14.7.3 案例:使用滑塊控制透明度
14.8 圖像控件
14.8.1 添加圖像控件
14.8.2 案例:預覽圖片
14.8.3 案例:設計幻燈片
14.9 進度條
14.9.1 添加進度條
14.9.2 案例:設計進度條
14.10 活動指示器
14.10.1 添加活動指示器
14.10.2 案例:設計活動指示器和進度條
14.11 警告框
14.11.1 創建警告框
14.11.2 案例:設計警告框
14.12 操作表
14.13 日期選擇器
14.13.1 添加日期選擇器
14.13.2 案例:設計倒計時
14.14 通用選擇器
14.14.1 添加通用選擇器
14.14.2 案例:設計單列選擇器
14.14.3 案例:自定義選擇器視圖
14.15 微調器
14.15.1 添加微調器
14.15.2 案例:設計微調器
14.16 網頁控件
14.16.1 添加網頁控件
14.16.2 案例:設計網頁控件
14.17 小結
第15章
使用控件(下)
視頻講解:117分鐘
15.1 工具條
15.1.1 添加工具條
15.1.2 案例:設計工具條
15.2 搜索條
15.2.1 添加搜索條
15.2.2 案例:設計搜索條
15.2.3 案例:設計顯示列表
15.3 導航條
15.3.1 使用導航條
15.3.2 案例:使用UINavigationController
15.4 表格控制器
15.4.1 表視圖概述
15.4.2 添加表格
15.4.3 自定義單元格
15.4.4 案例:設計表格
15.4.5 案例:編輯單元格
15.4.6 案例:編輯表格
15.4.7 案例:表格分區
15.5 標簽頁
15.5.1 使用UITabBar
15.5.2 案例:設計標簽頁1
15.5.3 案例:設計標簽頁2
15.6 頁控件
15.6.1 分頁控件
15.6.2 案例:使用UIPageControl
15.6.3 案例:使用UIPageViewController
15.7 小結
第16章
移動繪圖
視頻講解:35分鐘
16.1 基本概念
16.1.1 繪制周期
16.1.2 坐標系統
16.1.3 圖形上下文
16.1.4 點和像素
16.1.5 顏色空間
16.1.6 圖像格式
16.1.7 定制繪制
16.1.8 繪制性能
16.1.9 圖像質量
16.2 Quartz 2D
16.2.1 頁面
16.2.2 圖形上下文
16.2.3 路徑
16.2.4 顏色空間
16.2.5 變換
16.2.6 陰影
16.2.7 梯度
16.2.8 透明層
16.2.9 使用PDF文檔
16.3 案例實戰
16.3.1 案例:繪制圖形
16.3.2 案例:繪制線條
16.3.3 案例:繪制文本
16.3.4 案例:繪制路徑
16.3.5 案例:繪制曲線
16.3.6 案例:設計畫板
16.4 小結
第17章
動畫設計
視頻講解:14分鐘
17.1 OpenGL ES
17.1.1 OpenGL ES概述
17.1.2 配置上下文
17.1.3 OpenGL ES繪制
17.2 OpenGL ES應用
17.2.1 項目的創建及設置
17.2.2 上下文的創建
17.2.3 渲染緩存的創建
17.2.4 幀緩存的創建
17.2.5 屏幕的清理
17.2.6 OpenGLView和應用程序委托關聯
17.3 Core Animation
17.3.1 層和變換
17.3.2 樹層結構
17.3.3 層上下文和層行為
17.3.4 動畫
17.3.5 事務
17.3.6 動畫層布局
17.4 案例實戰
17.4.1 案例:設計過渡動畫
17.4.2 案例:設計屬性動畫
17.4.3 案例:設計路徑動畫
17.5 小結
第18章
多媒體開發
視頻講解:26分鐘
18.1 使用聲音
18.1.1 音頻編解碼
18.1.2 音頻回放和錄制格式
18.1.3 音頻會話
18.1.4 播放音頻
18.1.5 通過iPod媒體庫訪問接口播放媒體項
18.1.6 使用系統聲音服務播放短聲音及觸發震動
18.1.7 通過AVAudioPlayer類輕松播放聲音
18.1.8 用音頻隊列服務播放和控制聲音
18.1.9 創建一個音頻隊列對象
18.1.10 控制回放音量
18.1.11 指示回放音量
18.1.12 同時播放多路聲音
18.1.13 使用OpenAL播放和定位聲音
18.1.14 錄制音頻
18.1.15 解析音頻流
18.1.16 iOS系統上的音頻單元支持
18.1.17 iPhone音頻的最佳實踐
18.2 使用視頻
18.2.1 錄制視頻
18.2.2 播放視頻文件
18.3 案例實戰
18.3.1 案例:播放音效
18.3.2 案例:播放音樂
18.3.3 案例:播放視頻
18.3.4 案例:錄制音頻
18.3.5 案例:錄制視頻
18.4 小結
第19章
設備管理
視頻講解:28分鐘
19.1 硬件檢測
19.2 配件通信
19.2.1 配件基礎
19.2.2 聲明協議
19.2.3 連接配件
19.2.4 監控配件
19.3 使用加速計
19.3.1 選擇更新頻率
19.3.2 分離重力數據
19.3.3 分離實時運動數據
19.3.4 獲取設備方向
19.4 使用位置和方向
19.4.1 獲取當前位置
19.4.2 獲取方向事件
19.5 使用地圖
19.5.1 添加地圖視圖
19.5.2 縮放和移動地圖
19.5.3 顯示用戶當前位置
19.5.4 坐標和像素切換
19.5.5 顯示注解
19.5.6 添加和移除注解對象
19.5.7 定義注解視圖
19.5.8 創建注解視圖
19.5.9 處理注解視圖中的事件
19.5.10 獲取地標信息
19.6 使用照相機
19.7 使用照片庫
19.8 使用郵件
19.9 案例實戰
19.9.1 案例:管理通信設備
19.9.2 案例:獲取加速度、陀螺儀、磁場數據
19.9.3 案例:獲取移動數據
19.9.4 案例:獲取位置信息
19.9.5 案例:地圖定位
19.10 小結
第20章
文件和數據操作
視頻講解:24分鐘
20.1 文件操作
20.1.1 iPhone常用目錄
20.1.2 獲取程序目錄路徑
20.1.3 文件更新
20.1.4 文件備份和恢復
20.2 數據讀寫
20.2.1 文件數據的讀寫
20.2.2 屬性列表數據的讀寫
20.2.3 用歸檔器對數據進行讀寫
20.2.4 將數據寫到Documents目錄
20.2.5 從Documents目錄對數據進行讀取
20.2.6 保存狀態信息
20.3 SQLite
20.3.1 數據類型
20.3.2 常用函數及返回編碼
20.3.3 操作數據庫
20.3.4 創建表
20.3.5 操作數據語句
20.3.6 數據查詢
20.4 案例實戰
20.4.1 案例:使用屬性列表設計備忘錄
20.4.2 案例:使用SQLite設計單詞本
20.5 小結
第21章
綜合案例:搶撲克
視頻講解:8分鐘
21.1 設計提示框交互項目
21.1.1 使用UIAlertView
21.1.2 保存時間值
21.1.3 添加圖像文件
21.2 設計時間差視圖控制器
21.2.1 建立NSData、UIImageView對象和IBAction方法
21.2.2 定義UIAlertView和游戲控件屬性
21.3 構建撲克游戲控件
21.3.1 添加撲克游戲控件
21.3.2 設置游戲背景視圖檢查器
21.3.3 設置游戲撲克圖像檢查器
21.3.4 設置游戲透明按鈕檢查器
21.4 小結
第22章
綜合案例:電子琴
22.1 創建音頻工具項目
22.1.1 設置屏幕橫向顯示
22.1.2 添加背景圖像和聲音文件
22.1.3 添加音頻工具框架
22.1.4 Audio Toolbox框架的作用
22.2 定義電子琴的交互方法
22.2.1 建立音頻文件播放方法和播放動態
22.2.2 定義琴鍵屬性值
22.3 構建電子琴界面
22.3.1 設置電子琴視圖背景
22.3.2 添加控件
22.3.3 設置電子琴背景圖檢查器
22.3.4 設置電子琴鍵的檢查器
22.4 小結
第23章
綜合案例:吃豆人
視頻講解:7分鐘
23.1 創建Utility
Application圖像移動按鈕項目
23.1.1 添加移動圖像和聲音文件
23.1.2 添加支持動畫和聲音文件的框架
23.2 移動圖像操作的視圖控制器
23.2.1 建立UIImageView、按鈕方向操作和音頻播放方法
23.2.2 定義圖像屬性值和方向操作交互
23.3 在Interface
Builder中構建吃豆人主頁
23.3.1 構建吃豆人圖像和背景圖像
23.3.2 構建吃豆人移動按鈕
23.4 在Interface
Builder中構建吃豆人簡介副頁
23.5 小結
第24章
綜合案例:打磚塊
視頻講解:19分鐘
24.1 創建Utility
Application項目
24.1.1 添加打磚塊的圖像和聲音文件
24.1.2 添加框架文件
24.1.3 添加UIImageView控制器
24.1.4 自定義UIImageView視圖檢查器
24.2 打磚塊的MainViewController交互方法
24.2.1 建立游戲分數控件、操作交互和音頻播放方法
24.2.2 定義游戲的操作和屬性值
24.3 在Interface
Builder內構建BoardView
24.3.1 添加NSObject
24.3.2 設置NSObject身份
24.4 在Interface
Builder中構建打磚塊游戲主頁
24.5 在Interface
Builder中構建打磚塊簡介副頁
24.6 小結