商品簡介
作者簡介
名人/編輯推薦
目次
書摘/試閱
相關商品
商品簡介
本書是市面上最暢銷的iOS開發圖書的全新升級版本,以蘋果最新發布的iOS 6為基礎編寫而成。
本書通過源自真實世界的案例和代碼解決方案講解了iPhone和iPad應用開發過程中用到的所有知識,其內容涵蓋了iPhone、iPad應用開發的核心技術要點,以及iOS開發在真實商業開發中所需要的所有主題。 本書適合對iOS開發感興趣的人員閱讀。
作者簡介
Erica Sadun是數十本暢銷書的作者、合著者和供稿者,這些書涉及程序設計、數字視頻、數字攝影、Web設計和其他技術主題。作為一名在iOS領域最負盛名的開發人員,她還開發了數十種iPhone自帶的應用。Sadun持有佐治亞理工學院計算機科學專業的博士學位。
名人/編輯推薦
世界知名iOS開發專家Erica Sadun的全新打造;
OS開發領域扛鼎之作,全面涵蓋iOS開發細節;
特色:
通過多點觸控和手勢(包括自定義的手勢識別器)來支持用戶直接輸入;
構建、自定義和使用iOS 6控件;
通過彈出式對話框、進度條、本地通知、彈出信息、音頻鈴聲和其他技術來提醒用戶;
組裝視圖和動畫,組織視圖層次,理解視圖如何協同工作;
使用iOS 6突破性的自動布局約束系統來簡化對多個屏幕尺寸的支持;
控制鍵盤,是屏幕上的元素識別文本,以及有效地掃描和格式化文本;
使用視圖控制器來組織用戶的工作區;
管理照片、視頻、電子郵件、文本消息,以及iOS 6增強的社交媒體更新;
實現VoiceOver的可訪問性,把受眾擴展到更多的用戶;
使用表格來簡單直觀地管理app,以及使用全新的iOS 6集合視圖來添加靈活性;
使用Core Data托管數據存儲;
使用iOS 6強大的聯網能力以及支持的Web服務。
OS開發領域扛鼎之作,全面涵蓋iOS開發細節;
特色:
通過多點觸控和手勢(包括自定義的手勢識別器)來支持用戶直接輸入;
構建、自定義和使用iOS 6控件;
通過彈出式對話框、進度條、本地通知、彈出信息、音頻鈴聲和其他技術來提醒用戶;
組裝視圖和動畫,組織視圖層次,理解視圖如何協同工作;
使用iOS 6突破性的自動布局約束系統來簡化對多個屏幕尺寸的支持;
控制鍵盤,是屏幕上的元素識別文本,以及有效地掃描和格式化文本;
使用視圖控制器來組織用戶的工作區;
管理照片、視頻、電子郵件、文本消息,以及iOS 6增強的社交媒體更新;
實現VoiceOver的可訪問性,把受眾擴展到更多的用戶;
使用表格來簡單直觀地管理app,以及使用全新的iOS 6集合視圖來添加靈活性;
使用Core Data托管數據存儲;
使用iOS 6強大的聯網能力以及支持的Web服務。
目次
第1章 姿勢和觸摸 1
1.1 觸摸 1
1.1.1 階段 2
1.1.2 觸摸和響應者方法 3
1.1.3 觸摸視圖 3
1.1.4 多觸摸 4
1.1.5 姿勢識別器 4
1.2 秘訣:添加簡單的直接操作界面 5
1.3 秘訣:添加平移姿勢識別器 7
1.4 秘訣:同時使用多個姿勢識別器 9
1.5 秘訣:約束移動 12
1.6 秘訣:測試觸摸 14
1.7 秘訣:針對位圖進行測試 16
1.8 秘訣:在屏幕上繪制觸摸 18
1.9 秘訣:平滑繪圖 20
1.10 秘訣:使用多觸摸交互 23
1.11 秘訣:檢測圓形 27
1.12 創建自定義的姿勢識別器 31
1.13 秘訣:從滾動視圖中拖動 33
1.14 秘訣:實時觸摸反饋 37
1.14.1 啟用觸摸反饋 37
1.14.2 截取和轉發觸摸事件 38
1.14.3 實現TOUCHkit疊加視圖 39
1.15 秘訣:給視圖添加菜單 42
1.16 小結 43
第2章 構建和使用控件 45
2.1 UIControl類 45
2.1.1 目標—動作 45
2.1.2 控件的種類 46
2.1.3 控件事件 47
2.2 按鈕 48
2.3 InterfaceBuilder中的按鈕 50
2.4 秘訣:構建按鈕 51
2.4.1 多行按鈕文本 53
2.4.2 給按鈕添加動畫式元素 54
2.4.3 給按鈕添加額外的狀態 54
2.5 秘訣:制作按鈕響應的動畫 54
2.6 秘訣:添加具有自定義指針的滑塊 56
2.6.1 自定義UISlider 57
2.6.2 提高效率 58
2.7 外觀代理 61
2.8 秘訣:創建可點按兩次的分段控件 64
2.8.1 第二次點按反饋 65
2.8.2 控件和屬性 65
2.9 處理選項開關和步進器 67
2.10 子類化UIControl 68
2.10.1 創建控件 69
2.10.2 跟蹤觸摸 69
2.10.3 調度事件 69
2.11 秘訣:構建星星滑塊 72
2.12 構建觸摸式轉盤 75
2.13 秘訣:創建拉式控件 78
2.13.1 可發現性 79
2.13.2 測試觸摸 79
2.14 構建自定義的鎖定控件 82
2.15 添加頁面指示控件 84
2.16 秘訣:創建可自定義的分頁滾動條 87
2.17 構建工具欄 92
2.18 小結 94
第3章 提醒用戶 95
3.1 通過警報直接與用戶交流 95
3.1.1 構建簡單的警報 95
3.1.2 警報委托 97
3.1.3 顯示警報 98
3.1.4 警報的種類 98
3.2 “請等待”:給用戶顯示進度 99
3.2.1 使用UIActivityIndicatorView 99
3.2.2 使用UIProgressView 100
3.3 秘訣:不帶按鈕的警報 100
3.4 秘訣:利用事件處理循環創建模態警報 104
3.5 秘訣:結合使用可變參數與警報視圖 106
3.6 展示選項列表 107
3.6.1 滾動菜單 109
3.6.2 在動作表中顯示文本 110
3.7 秘訣:構建自定義的疊加 110
3.8 秘訣:基本的彈出窗口 112
3.9 秘訣:本地通知 114
3.10 警報指示器 115
3.11 秘訣:簡單的音頻警報 116
3.11.1 系統聲音 117
3.11.2 振動 118
3.11.3 警報 118
3.11.4 延遲 119
3.11.5 系統聲音的處理 119
3.12 小結 120
第4章 組合視圖與動畫 123
4.1 視圖層次結構 123
4.2 秘訣:恢復視圖層次結構樹 125
4.3 秘訣:查詢子視圖 126
4.4 管理子視圖 128
4.4.1 添加子視圖 128
4.4.2 重新排序和刪除子視圖 128
4.4.3 視圖回調 129
4.5 標記和檢索視圖 129
4.6 秘訣:通過對象關聯命名視圖 130
4.7 視圖幾何學 133
4.7.1 框架 133
4.7.2 矩形實用函數 134
4.7.3 點和大小 135
4.7.4 變換 135
4.7.5 坐標系統 136
4.8 秘訣:處理視圖框架 136
4.8.1 調整大小 137
4.8.2 CGRect和Center 139
4.8.3 其他幾何元素 140
4.9 秘訣:獲取變換信息 144
4.9.1 獲取變換屬性 144
4.9.2 測試視圖交叉 145
4.10 顯示和交互特征 150
4.11 UIView動畫 151
4.12 秘訣:淡入和淡出視圖 152
4.13 交換視圖 153
4.14 秘訣:翻轉視圖 154
4.15 秘訣:使用CoreAnimation漸變 156
4.16 秘訣:在視圖出現時彈起它們 158
4.17 圖像視圖動畫 159
4.18 小結 160
第5章 視圖約束 163
5.1 約束是什么 163
5.2 對齊矩形 164
5.3 約束屬性 165
5.4 約束的法則 166
5.5 創建約束 168
5.5.1 基本的約束聲明 168
5.5.2 可視化的格式約束 169
5.5.3 變量綁定 170
5.6 格式字符串 170
5.6.1 方向 171
5.6.2 視圖名稱 172
5.6.3 連接 173
5.7 謂詞 175
5.7.1 指標 176
5.7.2 視圖之間的謂詞 176
5.7.3 優先級 176
5.8 格式字符串小結 176
5.9 存儲和更新約束 177
5.10 秘訣:比較約束 179
5.11 秘訣:描述約束 181
5.12 秘訣:創建固定大小的受約束的視圖 183
5.12.1 禁用自動調整大小約束 184
5.12.2 在視圖界限內開始 184
5.12.3 約束大小 185
5.13 秘訣:居中顯示視圖 187
5.14 秘訣:設置高寬比 188
5.15 對齊視圖和靈活地調整大小 190
5.16 秘訣:響應方向變化 191
5.17 約束宏 193
5.17.1 一致的約束 193
5.17.2 充分的約束 194
5.17.3 宏 194
5.18 調試約束 196
5.19 小結 197
第6章 文本輸入 199
6.1 秘訣:取消UITextField鍵盤 199
6.1.1 阻止鍵盤取消 200
6.1.2 文本特征屬性 200
6.1.3 其他文本框屬性 201
6.2 秘訣:利用自定義的附件視圖代替文本視圖 203
6.3 秘訣:調整鍵盤周圍的視圖 205
6.4 秘訣:調整附件視圖周圍的視圖 209
6.5 秘訣:創建自定義的輸入視圖 212
6.6 秘訣:創建能夠意識到文本輸入的視圖 216
6.7 秘訣:向非文本視圖中添加自定義的輸入視圖 219
6.8 秘訣:構建更好的文本編輯器(第1部分) 222
6.9 秘訣:構建更好的文本編輯器(第2部分) 224
6.9.1 啟用屬性化的文本 224
6.9.2 控制屬性 225
6.9.3 其他的響應者功能 225
6.10 秘訣:文本輸入過濾 227
6.11 秘訣:檢測文本模式 230
6.11.1 創建你自己的表達式 230
6.11.2 枚舉正則表達式 231
6.11.3 數據檢測器 231
6.11.4 使用內置的類型檢測器 232
6.11.5 有用的網站 232
6.12 檢測UITextView中的拼寫錯誤 234
6.13 搜索文本字符串 235
6.14 小結 236
第7章 視圖控制器的使用 237
7.1 視圖控制器 237
7.1.1 UIViewController類 238
7.1.2 導航控制器 238
7.1.3 選項卡欄控制器 238
7.1.4 拆分視圖控制器 239
7.1.6 頁面視圖控制器 239
7.1.7 彈出式控制器 239
7.2 使用導航控制器和拆分視圖的開發 240
7.2.1 使用導航控制器和堆棧 241
7.2.2 壓入和彈出視圖控制器 241
7.2.3 欄按鈕 242
7.3 秘訣:導航項類 242
7.3.1 標題和返回按鈕 243
7.3.2 宏 243
7.4 秘訣:模態展示 244
7.5 秘訣:構建拆分視圖控制器 248
7.6 創建通用拆分視圖/導航應用 253
7.7 秘訣:選項卡欄 255
7.8 記憶選項卡狀態 259
7.9 秘訣:頁面視圖控制器 262
7.9.1 書籍屬性 263
7.9.2 包裝實現 263
7.9.3 探索秘訣 265
7.9.4 構建展示索引 265
7.10 秘訣:在頁面視圖控制器中刮擦頁面 271
7.11 秘訣:自定義容器 272
7.11.1 添加與移除子視圖控制器 273
7.11.2 在視圖控制器之間過渡 273
7.12 秘訣:延續 278
7.13 小結 284
第8章 常用控制器 285
8.1 圖片選取器控制器 285
8.1.1 圖片源 285
8.1.2 在iPhone和iPad上展示選取器 286
8.2 秘訣:選擇圖片 286
8.2.1 怎么做:給模擬器添加照片 286
8.2.2 AssetsLibrary(資產庫)框架 287
8.2.3 展示一個選取器 288
8.2.4 處理委托回調 288
8.3 秘訣:拍攝照片 293
8.3.1 設置選取器 293
8.3.2 顯示圖片 294
8.3.3 將圖片保存到相簿 294
8.4 秘訣:錄制視頻 296
8.4.1 創建視頻錄制選取器 297
8.4.2 保存視頻 298
8.5 秘訣:使用媒體播放器播放視頻 299
8.6 秘訣:編輯視頻 302
8.7 秘訣:選取并編輯視頻 305
8.8 秘訣:通過郵件發送圖片 307
8.9 發送文本信息 310
8.10 秘訣:貼出社交更新 313
8.11 秘訣:活動視圖(ActivityView)控制器 315
8.11.1 創建并展示控制器 316
8.11.2 添加服務 319
8.11.3 項目和服務 323
8.12 秘訣:QuickLook預覽控制器 324
8.13 小結 328
第9章 可訪問性 329
9.1 可訪問性簡介 329
9.2 啟用可訪問性 331
9.3 特征(Trait) 332
9.4 標簽 333
9.5 提示 334
9.6 使用模擬器測試 334
9.7 廣播更新 336
9.8 在iPhone上測試可訪問性 336
9.9 小結 338
第10章 創建與管理表格視圖 339
10.1 iOS表格 339
10.2 委托 340
10.3 創建表 341
10.3.1 表格風格 341
10.3.2 視圖布局 341
10.3.3 指派數據源 341
10.3.4 給單元格提供服務 342
10.3.5 注冊單元格類 342
10.3.6 單元格出列 343
10.3.7 指派委托 343
10.4 秘訣:實現一個基本的表格 343
10.4.1 數據源方法 344
10.4.2 響應用戶碰觸 344
10.5 表格視圖單元格 347
10.5.1 選中的顏色 348
10.5.2 添加自定義選擇特征 348
10.6 秘訣:創建復選表格單元格 348
10.7 使用展開附件 351
10.8 秘訣:表格編輯 353
10.8.1 添加撤銷支持 353
10.8.2 支持撤銷 354
10.8.3 顯示移除控件 354
10.8.4 處理刪除請求 355
10.8.5 輕掃單元格 355
10.8.6 重新排列單元格 355
10.8.7 添加單元格 355
10.9 秘訣:使用節 360
10.9.1 構建節 361
10.9.2 節數和行數 362
10.9.3 返回單元格 362
10.9.4 創建頭部標題 364
10.9.5 自定義頭部和腳注 365
10.9.6 創建節索引 365
10.9.7 處理節不匹配 366
10.9.8 帶有節的委托 366
10.10 秘訣:搜索表格 368
10.10.1 創建搜索顯示控制器 369
10.10.2 為搜索顯示控制器注冊單元格 370
10.10.3 構建可搜索的數據源方法 370
10.10.4 委托方法 372
10.10.5 使用搜索感知的索引 372
10.11 秘訣:給表格添加下拉刷新功能 374
10.12 添加動作行 377
10.13 編寫自定義組表格的代碼 381
10.14 秘訣:構建多滾輪表格 382
10.14.1 創建UIPickerView 383
10.14.2 數據源和委托方法 384
10.14.3 結合選取器使用視圖 384
10.15 使用UIDatePicker 387
10.16 小結 388
第11章 集合視圖 391
11.1 集合視圖與表格的對比 391
11.2 建立集合視圖 393
11.2.1 控制器 393
11.2.2 視圖 394
11.2.3 數據源和委托 394
11.3 流布局 394
11.3.1 滾動方向 395
11.3.2 項目尺寸和線間距 395
11.3.3 頭部和腳注的尺寸 396
11.3.4 嵌空 398
11.4 秘訣:基本的集合視圖流 398
11.5 秘訣:自定義單元格 402
11.6 秘訣:滾動水平列表 404
11.7 秘訣:引入交互式布局效果 408
11.8 秘訣:滾動對齊 410
11.9 秘訣:創建圓形布局 411
11.9.1 創建與刪除的動畫 412
11.9.2 給圓形布局提供能量 412
11.9.3 布局 413
11.10 秘訣:給布局添加手勢 417
11.11 秘訣:創建真正的網格布局 419
11.12 秘訣:自定義項目菜單 427
11.13 小結 429
第12章 初嘗CoreData 431
12.1 CoreData導引 431
12.2 實體和模型 431
12.2.1 構建一個模型文件 432
12.2.2 屬性和關系 433
12.2.3 構建對象類 433
12.3 創建上下文 434
12.4 添加數據 435
12.4.1 檢查數據文件 436
12.4.2 查詢數據庫 438
12.4.3 設置提取請求 439
12.4.4 執行提取 439
12.5 移除對象 440
12.6 秘訣:使用CoreData作為表格數據源 441
12.6.1 索引路徑訪問 441
12.6.2 節鍵路徑 442
12.6.3 節組 442
12.6.4 索引標題 442
12.6.5 表格的備妥程度 442
12.7 秘訣:搜索表格和CoreData 445
12.8 給CoreData表格視圖添加編輯功能 448
12.8.1 添加撤消/重做支持 448
12.8.2 創建撤銷事務 449
12.8.3 重新思考編輯 450
12.9 秘訣:由CoreData提供能量的集合視圖 455
12.10 小結 461
第13章 網絡基礎 463
13.1 秘訣:檢查網絡狀態 463
13.2 掃描連接性更改 466
13.3 秘訣:同步下載 468
13.4 秘訣:異步下載 473
13.5 一次調用無反饋異步下載 479
13.6 秘訣:使用JSON序列化 480
13.7 秘訣:將XML轉換成樹 482
13.7.1 樹 483
13.7.2 構建分析樹 483
13.8 小結 486
附錄A Objective—C文字常量 487
A.1 數字 487
A.2 裝箱 488
A.3 枚舉 488
A.4 容器文字常量 489
A.5 下標 490
A.6 功能測試 490
1.1 觸摸 1
1.1.1 階段 2
1.1.2 觸摸和響應者方法 3
1.1.3 觸摸視圖 3
1.1.4 多觸摸 4
1.1.5 姿勢識別器 4
1.2 秘訣:添加簡單的直接操作界面 5
1.3 秘訣:添加平移姿勢識別器 7
1.4 秘訣:同時使用多個姿勢識別器 9
1.5 秘訣:約束移動 12
1.6 秘訣:測試觸摸 14
1.7 秘訣:針對位圖進行測試 16
1.8 秘訣:在屏幕上繪制觸摸 18
1.9 秘訣:平滑繪圖 20
1.10 秘訣:使用多觸摸交互 23
1.11 秘訣:檢測圓形 27
1.12 創建自定義的姿勢識別器 31
1.13 秘訣:從滾動視圖中拖動 33
1.14 秘訣:實時觸摸反饋 37
1.14.1 啟用觸摸反饋 37
1.14.2 截取和轉發觸摸事件 38
1.14.3 實現TOUCHkit疊加視圖 39
1.15 秘訣:給視圖添加菜單 42
1.16 小結 43
第2章 構建和使用控件 45
2.1 UIControl類 45
2.1.1 目標—動作 45
2.1.2 控件的種類 46
2.1.3 控件事件 47
2.2 按鈕 48
2.3 InterfaceBuilder中的按鈕 50
2.4 秘訣:構建按鈕 51
2.4.1 多行按鈕文本 53
2.4.2 給按鈕添加動畫式元素 54
2.4.3 給按鈕添加額外的狀態 54
2.5 秘訣:制作按鈕響應的動畫 54
2.6 秘訣:添加具有自定義指針的滑塊 56
2.6.1 自定義UISlider 57
2.6.2 提高效率 58
2.7 外觀代理 61
2.8 秘訣:創建可點按兩次的分段控件 64
2.8.1 第二次點按反饋 65
2.8.2 控件和屬性 65
2.9 處理選項開關和步進器 67
2.10 子類化UIControl 68
2.10.1 創建控件 69
2.10.2 跟蹤觸摸 69
2.10.3 調度事件 69
2.11 秘訣:構建星星滑塊 72
2.12 構建觸摸式轉盤 75
2.13 秘訣:創建拉式控件 78
2.13.1 可發現性 79
2.13.2 測試觸摸 79
2.14 構建自定義的鎖定控件 82
2.15 添加頁面指示控件 84
2.16 秘訣:創建可自定義的分頁滾動條 87
2.17 構建工具欄 92
2.18 小結 94
第3章 提醒用戶 95
3.1 通過警報直接與用戶交流 95
3.1.1 構建簡單的警報 95
3.1.2 警報委托 97
3.1.3 顯示警報 98
3.1.4 警報的種類 98
3.2 “請等待”:給用戶顯示進度 99
3.2.1 使用UIActivityIndicatorView 99
3.2.2 使用UIProgressView 100
3.3 秘訣:不帶按鈕的警報 100
3.4 秘訣:利用事件處理循環創建模態警報 104
3.5 秘訣:結合使用可變參數與警報視圖 106
3.6 展示選項列表 107
3.6.1 滾動菜單 109
3.6.2 在動作表中顯示文本 110
3.7 秘訣:構建自定義的疊加 110
3.8 秘訣:基本的彈出窗口 112
3.9 秘訣:本地通知 114
3.10 警報指示器 115
3.11 秘訣:簡單的音頻警報 116
3.11.1 系統聲音 117
3.11.2 振動 118
3.11.3 警報 118
3.11.4 延遲 119
3.11.5 系統聲音的處理 119
3.12 小結 120
第4章 組合視圖與動畫 123
4.1 視圖層次結構 123
4.2 秘訣:恢復視圖層次結構樹 125
4.3 秘訣:查詢子視圖 126
4.4 管理子視圖 128
4.4.1 添加子視圖 128
4.4.2 重新排序和刪除子視圖 128
4.4.3 視圖回調 129
4.5 標記和檢索視圖 129
4.6 秘訣:通過對象關聯命名視圖 130
4.7 視圖幾何學 133
4.7.1 框架 133
4.7.2 矩形實用函數 134
4.7.3 點和大小 135
4.7.4 變換 135
4.7.5 坐標系統 136
4.8 秘訣:處理視圖框架 136
4.8.1 調整大小 137
4.8.2 CGRect和Center 139
4.8.3 其他幾何元素 140
4.9 秘訣:獲取變換信息 144
4.9.1 獲取變換屬性 144
4.9.2 測試視圖交叉 145
4.10 顯示和交互特征 150
4.11 UIView動畫 151
4.12 秘訣:淡入和淡出視圖 152
4.13 交換視圖 153
4.14 秘訣:翻轉視圖 154
4.15 秘訣:使用CoreAnimation漸變 156
4.16 秘訣:在視圖出現時彈起它們 158
4.17 圖像視圖動畫 159
4.18 小結 160
第5章 視圖約束 163
5.1 約束是什么 163
5.2 對齊矩形 164
5.3 約束屬性 165
5.4 約束的法則 166
5.5 創建約束 168
5.5.1 基本的約束聲明 168
5.5.2 可視化的格式約束 169
5.5.3 變量綁定 170
5.6 格式字符串 170
5.6.1 方向 171
5.6.2 視圖名稱 172
5.6.3 連接 173
5.7 謂詞 175
5.7.1 指標 176
5.7.2 視圖之間的謂詞 176
5.7.3 優先級 176
5.8 格式字符串小結 176
5.9 存儲和更新約束 177
5.10 秘訣:比較約束 179
5.11 秘訣:描述約束 181
5.12 秘訣:創建固定大小的受約束的視圖 183
5.12.1 禁用自動調整大小約束 184
5.12.2 在視圖界限內開始 184
5.12.3 約束大小 185
5.13 秘訣:居中顯示視圖 187
5.14 秘訣:設置高寬比 188
5.15 對齊視圖和靈活地調整大小 190
5.16 秘訣:響應方向變化 191
5.17 約束宏 193
5.17.1 一致的約束 193
5.17.2 充分的約束 194
5.17.3 宏 194
5.18 調試約束 196
5.19 小結 197
第6章 文本輸入 199
6.1 秘訣:取消UITextField鍵盤 199
6.1.1 阻止鍵盤取消 200
6.1.2 文本特征屬性 200
6.1.3 其他文本框屬性 201
6.2 秘訣:利用自定義的附件視圖代替文本視圖 203
6.3 秘訣:調整鍵盤周圍的視圖 205
6.4 秘訣:調整附件視圖周圍的視圖 209
6.5 秘訣:創建自定義的輸入視圖 212
6.6 秘訣:創建能夠意識到文本輸入的視圖 216
6.7 秘訣:向非文本視圖中添加自定義的輸入視圖 219
6.8 秘訣:構建更好的文本編輯器(第1部分) 222
6.9 秘訣:構建更好的文本編輯器(第2部分) 224
6.9.1 啟用屬性化的文本 224
6.9.2 控制屬性 225
6.9.3 其他的響應者功能 225
6.10 秘訣:文本輸入過濾 227
6.11 秘訣:檢測文本模式 230
6.11.1 創建你自己的表達式 230
6.11.2 枚舉正則表達式 231
6.11.3 數據檢測器 231
6.11.4 使用內置的類型檢測器 232
6.11.5 有用的網站 232
6.12 檢測UITextView中的拼寫錯誤 234
6.13 搜索文本字符串 235
6.14 小結 236
第7章 視圖控制器的使用 237
7.1 視圖控制器 237
7.1.1 UIViewController類 238
7.1.2 導航控制器 238
7.1.3 選項卡欄控制器 238
7.1.4 拆分視圖控制器 239
7.1.6 頁面視圖控制器 239
7.1.7 彈出式控制器 239
7.2 使用導航控制器和拆分視圖的開發 240
7.2.1 使用導航控制器和堆棧 241
7.2.2 壓入和彈出視圖控制器 241
7.2.3 欄按鈕 242
7.3 秘訣:導航項類 242
7.3.1 標題和返回按鈕 243
7.3.2 宏 243
7.4 秘訣:模態展示 244
7.5 秘訣:構建拆分視圖控制器 248
7.6 創建通用拆分視圖/導航應用 253
7.7 秘訣:選項卡欄 255
7.8 記憶選項卡狀態 259
7.9 秘訣:頁面視圖控制器 262
7.9.1 書籍屬性 263
7.9.2 包裝實現 263
7.9.3 探索秘訣 265
7.9.4 構建展示索引 265
7.10 秘訣:在頁面視圖控制器中刮擦頁面 271
7.11 秘訣:自定義容器 272
7.11.1 添加與移除子視圖控制器 273
7.11.2 在視圖控制器之間過渡 273
7.12 秘訣:延續 278
7.13 小結 284
第8章 常用控制器 285
8.1 圖片選取器控制器 285
8.1.1 圖片源 285
8.1.2 在iPhone和iPad上展示選取器 286
8.2 秘訣:選擇圖片 286
8.2.1 怎么做:給模擬器添加照片 286
8.2.2 AssetsLibrary(資產庫)框架 287
8.2.3 展示一個選取器 288
8.2.4 處理委托回調 288
8.3 秘訣:拍攝照片 293
8.3.1 設置選取器 293
8.3.2 顯示圖片 294
8.3.3 將圖片保存到相簿 294
8.4 秘訣:錄制視頻 296
8.4.1 創建視頻錄制選取器 297
8.4.2 保存視頻 298
8.5 秘訣:使用媒體播放器播放視頻 299
8.6 秘訣:編輯視頻 302
8.7 秘訣:選取并編輯視頻 305
8.8 秘訣:通過郵件發送圖片 307
8.9 發送文本信息 310
8.10 秘訣:貼出社交更新 313
8.11 秘訣:活動視圖(ActivityView)控制器 315
8.11.1 創建并展示控制器 316
8.11.2 添加服務 319
8.11.3 項目和服務 323
8.12 秘訣:QuickLook預覽控制器 324
8.13 小結 328
第9章 可訪問性 329
9.1 可訪問性簡介 329
9.2 啟用可訪問性 331
9.3 特征(Trait) 332
9.4 標簽 333
9.5 提示 334
9.6 使用模擬器測試 334
9.7 廣播更新 336
9.8 在iPhone上測試可訪問性 336
9.9 小結 338
第10章 創建與管理表格視圖 339
10.1 iOS表格 339
10.2 委托 340
10.3 創建表 341
10.3.1 表格風格 341
10.3.2 視圖布局 341
10.3.3 指派數據源 341
10.3.4 給單元格提供服務 342
10.3.5 注冊單元格類 342
10.3.6 單元格出列 343
10.3.7 指派委托 343
10.4 秘訣:實現一個基本的表格 343
10.4.1 數據源方法 344
10.4.2 響應用戶碰觸 344
10.5 表格視圖單元格 347
10.5.1 選中的顏色 348
10.5.2 添加自定義選擇特征 348
10.6 秘訣:創建復選表格單元格 348
10.7 使用展開附件 351
10.8 秘訣:表格編輯 353
10.8.1 添加撤銷支持 353
10.8.2 支持撤銷 354
10.8.3 顯示移除控件 354
10.8.4 處理刪除請求 355
10.8.5 輕掃單元格 355
10.8.6 重新排列單元格 355
10.8.7 添加單元格 355
10.9 秘訣:使用節 360
10.9.1 構建節 361
10.9.2 節數和行數 362
10.9.3 返回單元格 362
10.9.4 創建頭部標題 364
10.9.5 自定義頭部和腳注 365
10.9.6 創建節索引 365
10.9.7 處理節不匹配 366
10.9.8 帶有節的委托 366
10.10 秘訣:搜索表格 368
10.10.1 創建搜索顯示控制器 369
10.10.2 為搜索顯示控制器注冊單元格 370
10.10.3 構建可搜索的數據源方法 370
10.10.4 委托方法 372
10.10.5 使用搜索感知的索引 372
10.11 秘訣:給表格添加下拉刷新功能 374
10.12 添加動作行 377
10.13 編寫自定義組表格的代碼 381
10.14 秘訣:構建多滾輪表格 382
10.14.1 創建UIPickerView 383
10.14.2 數據源和委托方法 384
10.14.3 結合選取器使用視圖 384
10.15 使用UIDatePicker 387
10.16 小結 388
第11章 集合視圖 391
11.1 集合視圖與表格的對比 391
11.2 建立集合視圖 393
11.2.1 控制器 393
11.2.2 視圖 394
11.2.3 數據源和委托 394
11.3 流布局 394
11.3.1 滾動方向 395
11.3.2 項目尺寸和線間距 395
11.3.3 頭部和腳注的尺寸 396
11.3.4 嵌空 398
11.4 秘訣:基本的集合視圖流 398
11.5 秘訣:自定義單元格 402
11.6 秘訣:滾動水平列表 404
11.7 秘訣:引入交互式布局效果 408
11.8 秘訣:滾動對齊 410
11.9 秘訣:創建圓形布局 411
11.9.1 創建與刪除的動畫 412
11.9.2 給圓形布局提供能量 412
11.9.3 布局 413
11.10 秘訣:給布局添加手勢 417
11.11 秘訣:創建真正的網格布局 419
11.12 秘訣:自定義項目菜單 427
11.13 小結 429
第12章 初嘗CoreData 431
12.1 CoreData導引 431
12.2 實體和模型 431
12.2.1 構建一個模型文件 432
12.2.2 屬性和關系 433
12.2.3 構建對象類 433
12.3 創建上下文 434
12.4 添加數據 435
12.4.1 檢查數據文件 436
12.4.2 查詢數據庫 438
12.4.3 設置提取請求 439
12.4.4 執行提取 439
12.5 移除對象 440
12.6 秘訣:使用CoreData作為表格數據源 441
12.6.1 索引路徑訪問 441
12.6.2 節鍵路徑 442
12.6.3 節組 442
12.6.4 索引標題 442
12.6.5 表格的備妥程度 442
12.7 秘訣:搜索表格和CoreData 445
12.8 給CoreData表格視圖添加編輯功能 448
12.8.1 添加撤消/重做支持 448
12.8.2 創建撤銷事務 449
12.8.3 重新思考編輯 450
12.9 秘訣:由CoreData提供能量的集合視圖 455
12.10 小結 461
第13章 網絡基礎 463
13.1 秘訣:檢查網絡狀態 463
13.2 掃描連接性更改 466
13.3 秘訣:同步下載 468
13.4 秘訣:異步下載 473
13.5 一次調用無反饋異步下載 479
13.6 秘訣:使用JSON序列化 480
13.7 秘訣:將XML轉換成樹 482
13.7.1 樹 483
13.7.2 構建分析樹 483
13.8 小結 486
附錄A Objective—C文字常量 487
A.1 數字 487
A.2 裝箱 488
A.3 枚舉 488
A.4 容器文字常量 489
A.5 下標 490
A.6 功能測試 490
書摘/試閱
如你所見,CGRectMake()函數使用4個參數創建它的新矩形,這4個參數是:原點的2和y位置、矩形的寬度和寬度。這種方法提供一個關鍵的實用函數用于創建框架。除了cGRectMake()之外,你可能還想知道另外幾個方便的函數,它們有助于處理矩形和框架。NSStringFromCGRect(aCGRect)把CGRect結構轉換為格式化的字符串。該函數使得在調試時很容易記錄視圖的框架。
CGRectFromstring(aString)用于從其字符串表示中恢復矩形。當以用戶默認的方式把視圖的框架存儲為一個字符串并且希望把該字符串轉換回一個CGRect時,它被證明很有用。
[NSValue valueWithCGRect:rect]盡管不是一個函數,但是會返回一個新的Objective—C值對象,其中存儲傳遞的矩形。然后可以根據需要把對象添加到字典和數組中。CGRectValue方法從NSValue對象中檢索矩形結構。這種方法存在一些變體,可用于大多數CG類型,包括點、大小和仿射變換。
CGRectInset(aRect,xinset,yinset)允許創建一個比源矩形小或大的矩形,并且它們的中心位于同一個點上。對于較小的矩形,可使用正的嵌入值,對于較大的矩形,則使用負的嵌入值。
CGRectOffset(aRect,xoffset,yoffset)返回—個矩形,它相對于原始矩形將偏移所手旨定的x和y的距離。這便于在屏幕上四處移動框架,并且可以輕松地創建投影效果。CGRectGetMidX(aRect)和CGRectGetMidY(aRect)可以獲取矩形中心的x和y坐標。這兩個函數可以非常方便地獲取邊界和框架的中點。
CGRectIntersectsRect(rectl,rect2)可讓你知道兩個矩形結構是否交叉。使用這個函數可以知道兩個矩形對象何時重疊。可以通過CGRectIntersectsRect(rect1,rect2)獲取實際的交叉。如果兩個矩形不交叉,它將返回一個空矩形(可使用CGRectlsNull(rect)進行檢查)。當提供的點位于(非空)矩形內時,相關的CGRectContainsPoint(rect,point)將返回true。
CGRectEqualToRect(rect 1,rect2)用于比較矩形。這個函數檢查兩個矩形的大小和位置是否相同。類似的方法包括CGSizeEqualToSize(size1,size2)和CGPointEqualToPoint(point1,point2),它們允許比較CGSize和CGPoint實例。
主題書展
更多
主題書展
更多書展今日66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。
優惠價:87
412
海外經銷商無庫存,到貨日平均30天至45天