內容簡介
iPhone是一款結合了拍照、個人數碼助理、媒體播放器以及無線通信設備的掌上智慧型手機,憑藉其獨有的強大用戶體驗,贏得了廣大消費者的青睞。每一代iPhone新產品的推出,都成為了消費者追捧的對象,一直是智慧型手機產品中銷量領先的品牌。《iPhone 開發從入門到精通》中的實例典型並且具有較強的代表性,都是當前市面中的熱點套用。
《iPhone 開發從入門到精通》分為12章,分別詳細地介紹了iOS開發入門、Objective-C語言基礎、連連看手機遊戲、開發一個記事本程式、開發瀏覽器程式、開發一個視頻播放器、開發一個地圖系統、開發一個通信錄系統、開發一個翻書特效系統、開發一個多功能音樂盒、公交路線查詢系統、分析開源中國客戶端。通過10個綜合實例的實現過程,詳細講解了開發大型iPhone系統的基本流程。
《iPhone 開發從入門到精通》適合iPhone開發人員、iPhone愛好者學習,也可以作為培訓學校和大專院校相關專業的教學用書。
圖書目錄
第 1章 iOS開發入門 1
1.1 iOS系統介紹 1
1.1.1 iOS發展史 1
1.1.2 iOS功能 1
1.2 從iPhone到iPad 4
1.2.1 讓世界瘋狂的iPhone 4
1.2.2 改變世界的iPad 5
1.3 加入iOS開發團隊 5
1.4 搭建開發環境 7
1.4.1 Xcode介紹 8
1.4.2 iOS SDK介紹 8
1.4.3 下載並安裝Xcode 10
1.5 使用Xcode開發環境 13
1.5.1 使用Xcode創建程式的基本步驟 14
1.5.2 Xcode的基本功能 14
1.6 啟動模擬器 26
1.7 iOS的常用開發框架 30
1.7.1 Foundation框架簡介 30
1.7.2 Cocoa框架簡介 32
1.8 常用的第三方工具 33
1.8.1 iPhone Simulator 33
1.8.2 Interface Builder 34
第 2章 Objective-C語言基礎 35
2.1 最耀眼的新星 35
2.1.1 統計數據 35
2.1.2 Objective-C概述 35
2.1.3 為什麼選擇Objective-C 36
2.2 Objective-C的優點及缺點 37
2.3 Objective-C實例 37
2.3.1 使用Xcode編輯代碼 38
2.3.2 基本元素介紹 40
2.4 數據類型和常量 44
2.4.1 int類型 45
2.4.2 float類型 46
2.4.3 double類型 46
2.4.4 char類型 47
2.4.5 字元常量 49
2.4.6 id類型 50
2.4.7 限定詞 51
2.4.8 總結基本數據類型 53
2.5 字元串 53
2.6 算數表達式 54
2.6.1 運算符的優先權 54
2.6.2 整數運算和一元負號運算符 55
2.6.3 模運算符 56
2.6.4 整型值和浮點值的相互轉換 57
2.6.5 類型轉換運算符 58
2.7 表達式 58
2.7.1 常量表達式 58
2.7.2 條件運算符 59
2.7.3 sizeof運算符 59
2.7.4 關係運算符 60
2.7.5 強制類型轉換運算符 61
2.8 位運算符 61
2.8.1 按位與運算符 62
2.8.2 按位或運算符 62
2.8.3 按位異或運算符 63
2.8.4 一次求反運算符 63
2.8.5 向左移位運算符 64
2.8.6 向右移位運算符 65
2.8.7 總結Objective-C的運算符 65
第3章 連連看手機遊戲 67
3.1 基礎知識講解 67
3.1.1 處理複合視圖 67
3.1.2 音頻技術 74
3.1.3 螢幕刷新和事件互動處理 81
3.2 連連看遊戲項目系統分析 83
3.2.1 分析遊戲功能 83
3.2.2 設計類 83
3.3 設計界面 84
3.3.1 創建複合視圖 84
3.3.2 按鍵處理 88
3.3.3 回響螢幕刷新事件 91
3.4 具體編碼 93
第4章 開發一個記事本程式 104
4.1 基礎知識講解 104
4.1.1 使用文本框(UITextField) 104
4.1.2 文本視圖(UITextView) 106
4.1.3 提醒處理 108
4.1.4 多場景故事板 111
4.1.5 創建多場景項目 112
4.1.6 使用標籤(UILabel) 117
4.1.7 使用表視圖(UITable) 121
4.2 記事本項目系統分析 125
4.2.1 分析功能 125
4.2.2 main.m類 126
4.2.3 主界面 126
4.2.4 記事本列表界面 127
4.2.5 記事本詳情界面 129
4.2.6 滾動處理 132
4.2.7 獲取截屏 134
4.2.8 撰寫新記事本信息 135
第5章 開發瀏覽器程式 137
5.1 基礎知識講解 137
5.1.1 使用UIWebView控制項 137
5.1.2 靜態庫 139
5.1.3 螢幕雙緩衝技術 142
5.2 瀏覽器項目演練 144
5.2.1 進入網易 144
5.2.2 進入百度 151
第6章 開發一個視頻播放器 155
6.1 基礎知識講解 155
6.1.1 MediaPlayer框架 155
6.1.2 AVFoundation框架 161
6.1.3 圖像選擇器 164
6.1.4 CoreImage框架 168
6.2 視頻播放器項目系統分析 171
6.2.1 分析遊戲功能 171
6.2.2 設計UI視圖界面 172
6.2.3 程式定製 172
6.2.4 視圖控制 173
6.2.5 本地播放視圖控制 180
6.2.6 觸摸圖像播放 181
6.2.7 視頻流處理 181
6.2.8 顯示播放狀態 182
6.2.9 視頻播放 182
第7章 開發一個地圖系統 186
7.1 基礎知識講解 186
7.1.1 Core Location框架 186
7.1.2 獲取位置 189
7.1.3 地圖功能 192
7.1.4 創建一個支持定位的應用程式 195
7.1.5 在項目中使用磁性指南針 200
7.1.6 使用谷歌地圖 205
7.2 實現一個基本的定位系統 207
7.2.1 設計UI視圖 207
7.2.2 主視圖處理 208
7.2.3 FlipsideView視圖處理 210
7.3 添加谷歌地圖 211
7.3.1 添加打開地圖功能 211
7.3.2 視圖控制器的升級 213
7.3.3 添加自定義地圖示注對象 215
第8章 開發一個通信錄系統 217
8.1 基礎知識講解 217
8.1.1 iOS中的地址簿(通信錄) 217
8.1.2 電子郵件 219
8.1.3 使用Twitter傳送推特信息 220
8.1.4 聯合使用地址簿、電子郵件、Twitter和地圖 221
8.2 開發一個智慧型通信錄系統 230
8.2.1 設計UI視圖 230
8.2.2 實現根視圖 231
8.2.3 實現添加聯繫人圖 234
8.2.4 實現查看聯繫人視圖 238
8.2.5 實現編輯視圖 240
8.2.6 視圖配置 242
第9章 開發一個翻書特效系統 244
9.1 基礎知識講解 244
9.1.1 iOS中的動畫 244
9.1.2 UllmageView動畫 245
9.1.3 Core Animation視圖動畫 254
9.1.4 Core Animation——關鍵幀動畫 260
9.1.5 修改動畫塊 262
9.1.6 過渡動畫 263
9.1.7 基於塊的視圖動畫 263
9.1.8 隱式動畫 264
9.1.9 核心動畫 265
9.2 翻書特效項目系統分析 266
9.2.1 UI視圖 266
9.2.2 圖書翻頁控制項 267
9.2.3 主界面 270
9.2.4 PDF例子視圖 271
9.2.5 Image例子視圖 272
9.2.6 Procedural例子視圖 274
第 10章 開發一個多功能音樂盒 276
10.1 系統介紹 276
10.1.1 功能介紹 276
10.1.2 模組劃分 276
10.2 系統主界面 277
10.3 音樂庫 279
10.3.1 音樂庫主界面 280
10.3.2 歌曲表視圖控制器 282
10.3.3 開關控制器 286
10.3.4 專輯模組 289
10.3.5 歌曲信息模組 294
10.3.6 正在播放模組 296
10.4 線上搜尋 300
10.5 MV播放 308
10.5.1 主界面 309
10.5.2 視圖刷新 315
10.5.3 MV信息 316
10.5.4 MV搜尋 317
10.5.5 Hot MV 317
第 11章 公交路線查詢系統 320
11.1 系統介紹 320
11.2 系統主界面 321
11.2.1 線路查詢視圖 321
11.2.2 線路詳情模組 325
11.2.3 線路中某站詳情 328
11.3 站站查詢 332
11.3.1 站站查詢主視圖 332
11.3.2 站站查詢詳情視圖 340
11.4 收藏歷史 342
11.5 地圖信息 348
11.5.1 地圖主視圖 348
11.5.2 Web地圖視圖 350
11.6 系統設定 352
11.6.1 主視圖 352
11.6.2 當前城市視圖 358
11.6.3 數據下載視圖 361
第 12章 分析開源中國客戶端 365
12.1 系統介紹 365
12.2 系統主界面 366
12.3 多執行緒處理 369
12.4 信息顯示模組 371
12.4.1 信息顯示根界面模組 372
12.4.2 顯示單元格模組 374
12.4.3 列表顯示模組 375
12.4.4 問答根視圖 381
12.4.5 單元格模組 384
12.4.6 問答信息顯示模組 384
12.4.7 信息詳情模組 392
12.5 分享模組 396
12.5.1 設計UI視圖 396
12.5.2 具體編碼 396
12.6 搜尋模組 399
12.6.1 設計UI視圖 399
12.6.2 具體編碼 399