內容簡介
本書全面、系統地介紹了iOS 9開發技術,同時附帶大量實例,供讀者實戰演練。本書內容講解詳細,示例豐富,書中每一個知識點都配備了對應的實例和運行結果圖,這樣可以使讀者在學習時輕鬆上手。
本書共分4篇。第 1篇包括iOS 9開發概述、iOS 9的開發工具Xcode 7、Objective-C語言基礎以及Cocoa基礎;第 2篇介紹自定義視圖和視圖控制器、文字顯示視圖、圖形圖像、網頁操作、表視圖、導航控制器和標籤欄控制器以及自動布局;第3篇介紹提醒處理、選擇操作、定位服務與地圖、訪問內置的應用程式、多媒體、動畫、觸摸與手勢等;第4篇通過兩個App實例讓讀者了解一個App從開發到申請賬號再到在套用商店中上架的整個過程。
本書為沒有iOS 9技術基礎的新手編寫。通過對本書的學習,讀者可以基本建立起iOS 9技術的思想框架,並且對iOS 9開發的過程有一個初步的了解。所以,本書不僅適合作為大中專院校的教材,也適合iOS 9技術愛好者自學使用。
目錄
第 1篇 基礎篇
第1章 iOS 9開發概述 2
1.1 iOS簡介 2
1.1.1 iOS發展歷程 3
1.1.2 iOS 架構 3
1.1.3 iOS運行設備 4
1.2 iOS 9新特性 4
1.2.1 新字型 4
1.2.2 iPad分屏 5
1.2.3 套用切換 6
1.2.4 Spotlight/搜尋 6
1.2.5 密碼增強 6
1.2.6 系統內置地圖功能增強 7
1.2.7 備忘錄 7
1.2.8 低電量模式 8
1.2.9 3DTouch 8
1.2.10 App Thinning 9
1.2.11 App內容加密傳輸 9
1.2.12 UI Test 9
1.2.13 人工智慧和搜尋API 10
1.2.14 Contacts Framework 10
1.2.15 Watch Connectivity 10
1.2.16 Swift 2 10
1.3 構建開發環境——Xcode 7 11
1.3.1 Xcode簡介 11
1.3.2 Xcode發展歷程 12
1.3.3 安裝Xcode 7 12
1.3.4 綁定蘋果開發 者賬號 13
1.3.5 更新檔案和組件 13
1.3.6 幫助文檔 14
1.4 編寫第 一個iOS 9套用 15
1.4.1 創建項目 15
1.4.2 編譯、連線、運行 17
1.4.3 iOS模擬器介紹 18
1.4.4 編輯界面 20
1.4.5 編寫代碼 22
1.4.6 定製應用程式圖示 24
1.5 小結 26
1.6 習題 26
第 2章 iOS 9的開發工具Xcode 7 27
2.1 Xcode 7的新特性 27
2.1.1 真機調試 27
2.1.2 App Thinning 27
2.1.3 UIStackView 28
2.1.4 UI Test 28
2.1.5 Address Sanitizer 28
2.1.6 Storyboard References 29
2.2 解剖Xcode 7界面 29
2.2.1 導航視窗 30
2.2.2 工具視窗 30
2.2.3 編輯視窗 31
2.2.4 目標視窗 32
2.3 Xcode 7項目結構 32
2.4 調試程式 33
2.5 小結 35
2.6 習題 35
第3章 Objective-C語言基礎 36
3.1 Objective-C語言簡介 36
3.1.1 Objective-C語言的發展 36
3.1.2 Objective-C語言的特點 36
3.2 數據類型 37
3.2.1 與C語言通用的數據類型 37
3.2.2 Objective-C特有的數據類型 38
3.3 變數與常量 38
3.3.1 變數 38
3.3.2 常量 39
3.3.3 標識符 40
3.4 運算符 41
3.4.3 自增自減運算符 42
3.4.4 位運算符 43
3.4.5 複合運算符 43
3.4.7 布爾邏輯運算符 45
3.4.8 特殊的運算符 45
3.4.9 運算符的優先權 45
3.4.10 語句與表達式 47
3.5 程式控制結構 47
3.5.1 順序結構 47
3.5.2 選擇結構 48
3.5.3 循環結構 51
3.6 類 53
3.6.1 類的創建 53
3.6.2 實例化對象 54
3.6.3 實例變數 54
3.6.4 方法 56
3.7 繼承及多態 58
3.7.1 繼承 58
3.7.2 多態 60
3.8 分類和協定 60
3.8.1 分類 61
3.8.2 協定 63
3.9 小結 65
3.10 習題 65
第4章 Cocoa基礎 67
4.1 Foundation框架 67
4.1.1 數字對象(NSNumber) 67
4.1.2 字元串對象(NSString) 70
4.1.3 數組對象(NSArray) 77
4.1.4 字典對象(NSDictionary) 84
4.1.5 集合對象(NSSet) 89
4.1.6 Foundation框架中對象的總結 94
4.2 Application框架 95
4.2.1 Cocoa應用程式項目的創建 95
4.2.2 編寫一個Cocoa應用程式 96
4.2.3 Application框架中對象的總結 98
4.3 小結 99
4.4 習題 99
第 2篇 界面設計篇
第5章 自定義視圖和視圖控制器 102
5.1 視圖庫介紹 102
5.2 自定義視圖的創建 103
5.2.1 靜態創建自定義視圖 103
5.2.2 動態創建自定義視圖 104
5.3 視圖控制器 105
5.3.1 創建視圖控制器 105
5.3.2 定義初始視圖 107
5.4 視圖的實現 108
5.4.1 切換視圖 108
5.4.2 旋轉視圖 110
5.5 小結 113
5.6 習題 113
第6章 文字顯示視圖 114
6.1 標籤控制項Lable 114
6.1.1 創建標籤 114
6.1.2 製作特殊的標籤 115
6.2 文本框控制項 117
6.2.1 創建文本框 117
6.2.2 製作特殊的文本框 118
6.2.3 鍵盤的顯示 119
6.2.4 設定鍵盤的顯示類型 121
6.2.5 關閉鍵盤 122
6.2.6 文本框的實現 126
6.3 文本視圖 127
6.3.1 創建文本視圖 127
6.3.2 製作特殊的文本視圖 129
6.3.3 文本視圖中鍵盤的退出 130
6.3.4 文本視圖的套用—閱讀
瀏覽器 133
6.4 小結 136
6.5 習題 136
第7章 圖形圖像 137
7.1 圖像視圖 137
7.1.1 創建圖像視圖 137
7.1.2 顯示圖像 139
7.2 設定獨特的圖像視圖 142
7.2.1 顯示模式 142
7.2.2 改變位置 143
7.2.3 改變大小 146
7.2.4 旋轉 147
7.2.5 縮放 148
7.3 圖像視圖的套用—圖片
瀏覽器 149
7.4 繪製圖形術語簡介 151
7.4.1 圖形上下文 151
7.4.2 圖形上下文的分類 151
7.4.3 Quartz 2D定義的數據類型 151
7.4.4 獲取當前的圖形上下文 152
7.4.5 使用Quartz 2D繪圖的步驟 152
7.5 繪製路徑 153
7.5.1 繪製線段 153
7.5.2 繪製矩形 156
7.5.3 路徑函式總結 157
7.5.4 為圖形添加特效 157
7.6 繪製點陣圖 161
7.6.1 繪製單個點陣圖 161
7.6.2 繪製多個點陣圖 162
7.7 繪製文字 163
7.7.1 文字設定 163
7.7.2 設定轉換矩陣 163
7.7.3 填充字型 163
7.7.4 設定繪製模式 164
7.8 小結 165
7.9 習題 166
第8章 網頁操作 167
8.1 網頁視圖的創建 167
8.2 載入內容 168
8.2.1 載入網頁內容 168
8.2.2 載入HTML代碼 170
8.3 設定獨特的網頁 171
8.3.1 自動識別網頁內容 171
8.3.2 自動縮放 173
8.4 添加導航 174
8.4.1 導航動作 174
8.4.2 載入時常用方法 176
8.5 網頁視圖的套用—網頁瀏覽器 177
8.6 小結 182
8.7 習題 182
第9章 表視圖 183
9.1 創建表視圖 183
9.2 內容填充 184
9.2.1 填充內容的步驟 184
9.2.2 填充字元串 186
9.2.3 填充圖片 187
9.2.4 添加頁眉頁腳 188
9.2.5 添加索引 189
9.3 設定表單元 190
9.3.1 設定顯示風格 190
9.3.2 設定標記 192
9.3.3 設定行高 193
9.4 回響表視圖 195
9.4.1 選擇行 195
9.4.2 刪除行 197
9.4.3 添加行 198
9.4.4 移動行 200
9.4.5 縮進 202
9.5 創建分組表 203
9.6 填充分組表 205
9.6.1 填充Grouped風格的分組表 205
9.6.2 填充Plain風格的分組表 206
9.7 表視圖的實現 208
9.8 小結 211
9.9 習題 211
第 10章 導航控制器和標籤欄
控制器 213
10.1 導航控制器 213
10.1.1 導航控制器的組成 213
10.1.2 導航控制器的創建 214
10.1.3 改變導航控制器的關聯視圖 215
10.1.4 實現導航 215
10.1.5 添加標題 217
10.1.6 設定導航欄顏色 217
10.1.7 添加左右按鈕 220
10.1.8 設定返回按鈕 224
10.2 標籤欄控制器 224
10.2.1 標籤欄控制器的創建 225
10.2.2 設定標籤欄控制器 227
10.3 導航控制器和標籤欄控制器
套用——電話簿 233
10.4 小結 240
10.5 習題 240
第 11章 自動布局 242
11.1 自動布局的基本原理 242
11.1.1 舊的界面布局方式的缺點 242
11.1.2 自動布局的原理 242
11.1.3 SizeClass 243
11.2 自動布局 243
11.2.1 開啟自動布局 243
11.2.2 界面預覽 244
11.2.3 添加自動布局 245
11.2.4 代碼添加自動布局 248
11.3 SizeClass 250
11.4 圖片裁剪 252
11.5 小結 254
11.6 習題 254
第3篇 套用篇
第 12章 提醒處理 256
12.1 對話框視圖 256
12.1.1 創建對話框視圖 256
12.1.2 顯示對話框視圖 257
12.1.3 對話框視圖的設定 258
12.1.4 回響提醒視圖 261
12.2 動作表單 265
12.2.1 動作表單的創建 265
12.2.2 顯示動作表單 265
12.2.3 側邊顯示動作表單 267
12.2.4 回響動作表單 268
12.3 小結 270
12.4 習題 271
第 13章 選擇操作 272
13.1 日期選擇器 272
13.1.1 日期選擇器的創建 272
13.1.2 定製日期選擇器 273
13.1.3 日期選擇器套用——生日
管理器 276
13.2 自定義選擇器 280
13.2.1 自定義選擇器的創建 280
13.2.2 定製自定義選擇器 281
13.2.3 自定義選擇器套用——更換
頭像 283
13.3 小結 286
13.4 習題 287
第 14章 定位服務與地圖 288
14.1 定位服務 288
14.1.1 獲取位置數據 288
14.1.2 管理與提供位置服務 289
14.1.3 位置方向 292
14.2 創建地圖 292
14.2.1 靜態創建地圖 292
14.2.2 動態創建地圖 293
14.3 定製地圖 294
14.3.1 設定顯示模式 294
14.3.2 顯示當前的位置 296
14.3.3 指定位置 298
14.3.4 添加標記 299
14.3.5 在一定範圍內顯示
指定位置 301
14.3.6 獲取地圖的縮放級別 302
14.3.7 標註 303
14.3.8 將位置轉換為地址 305
14.4 地圖的套用——地圖瀏覽器 307
14.5 小結 311
14.6 習題 311
第 15章 訪問內置的應用程式 312
15.1 地址簿 312
15.1.1 訪問地址簿 312
15.1.2 添加聯繫人 314
15.1.3 顯示個人信息 316
15.2 電子郵件 318
15.2.1 訪問系統電子郵件 318
15.2.2 傳送系統電子郵件 319
15.2.3 SMS的訪問以及傳送 324
15.3 日曆 326
15.3.1 單個事件界面 326
15.3.2 添加或編輯日曆事件界面 328
15.4 小結 332
15.5 習題 332
第 16章 多媒體 333
16.1 照片庫 333
16.1.1 操作照片庫 333
16.1.2 訪問照片庫 335
16.1.3 定製照片 337
16.1.4 設定相機 339
16.1.5 照片庫的套用—背景
選擇 341
16.2 音頻 344
16.2.1 系統聲音 344
16.2.2 音頻播放器 346
16.2.3 錄音 349
16.2.4 訪問音樂庫 352
16.2.5 音頻的套用——MP3
播放器 354
16.3 視頻 359
16.4 小結 362
16.5 習題 362
第 17章 動畫 363
17.1 UIView動畫 363
17.1.1 創建動畫塊 363
17.1.2 修改動畫塊 364
17.1.3 過渡動畫 366
17.2 CATransition動畫 369
17.2.1 CATransition實現動畫 369
17.2.2 公開動畫效果 370
17.2.3 非公開動畫效果 372
17.3 NSTimer動畫 374
17.3.1 NSTimer的創建 374
17.3.2 平移 375
17.3.3 旋轉 376
17.3.4 縮放 377
17.4 小結 379
17.5 習題 379
第 18章 觸摸與手勢 380
18.1 觸摸 380
18.1.1 觸摸階段 380
18.1.2 觸摸方法 380
18.2 手勢 383
18.2.1 輕拍 383
18.2.2 捏 385
18.2.3 滑動 386
18.2.4 旋轉 388
18.2.5 移動 389
18.2.6 長按 390
18.2.7 自定義手勢 392
18.3 小結 394
18.4 習題 394
第4篇 實戰篇
第 19章 實例1:App註冊與登錄 396
19.1 項目分析 396
19.2 項目實現過程 397
19.2.1 資源導入 397
19.2.2 添加Navigation Controller 397
19.2.3 製作登錄界面 397
19.2.4 製作註冊界面 398
19.3 套用調試 402
19.3.1 列印調試 402
19.3.2 斷點調試 402
19.3.3 UI調試 403
19.4 代碼解析 403
19.4.1 文本判斷 403
19.4.2 NSUserDefaults存取 404
19.5 運行結果 404
第 20章 實例2:計算器App 405
20.1 App工程設定 405
20.1.1 Bundle Identifier設定 405
20.1.2 App Icon設定 406
20.1.3 啟動圖設定 406
20.1.4 套用名稱設定 407
20.2 App實現過程 407
20.3 運行結果 409
20.4 開 發者賬號申請 410
20.5 證書申請 411
20.6 提交到App商店 413