發表於2024-11-09
世界知名iOS開發專傢詳細講解創建優秀iOS移動應用程序的技術細節,係統闡釋如何高效開發iOS程序
用直觀的代碼演示當前流行的編程技巧,為iOS開發者提供行之有效的解決方案
《iOS核心開發手冊(原書第5版)》由著名iOS編程專傢、頂端iOS開發大師聯閤撰寫,是市麵上最暢銷的iOS開發圖書的全新升級版本。書中用豐富的實例、直觀的代碼展示創建優秀iOS程序所需的全部技巧,幫助讀者輕鬆掌握並高效開發iOS程序。
《iOS核心開發手冊(原書第5版)》共分15章:第1章講解iOS程序中的手勢與觸摸,包括直接操縱界麵、多點觸摸和創建自定義的手勢識彆器;第2章深入講解如何操控應用程序;第3章介紹如何在應用程序中實現信息通知;第4章講解如何編排視圖及其動畫效果;第5章介紹如何用代碼來做視圖方麵的約束;第6章講解如何控製鍵盤、使屏幕上麵的控件支持文本輸入、掃描文本、格式化文本等;第7章介紹各種視圖控製器類的用法;第8章講解常用的控製器,包括從照片庫中選取照片、拍照、錄製並編輯視頻等;第9章介紹錶格的用法,解釋錶格的工作原理,講解可供開發者使用的各種錶格,並且告訴你如何在程序中利用錶格的各種特性;第10章講述使用Collection 視圖所需的各種基礎知識,包括如何創建可以橫嚮滾動的列錶,如何創建網格布局,如何創建“圓形”等特殊方式的布局;第11章講解如何在應用程序之間分享文檔及數據;第12章淺談Core Data,你會學到如何設計受托管的數據庫存儲區,如何添加並刪除數據,如何用代碼查詢數據,以及如何把這些操作同UIKit中的Table 視圖及Collection 視圖相集成;第13章介紹網絡編程中的常用技術,同時也提供一些解決方案,用來簡化日常的網絡開發任務;第14章講解針對特定設備的開發,包括如何查看設備的硬件規格以及可供使用的感應器等;第15章簡單介紹VoiceOver這項輔助功能,開發者可以通過該功能盡量擴大應用程序的受眾。
Erica Sadun,是數十本暢銷書的作者、閤著者和供稿者,這些書涉及程序設計、數字視頻、數字攝影、Web設計和其他技術主題。作為一名在iOS領域最負盛名的開發人員,她還開發瞭數十種iPhone自帶的應用。Sadun擁有佐治亞理工學院計算機科學專業的博士學位。
Rich Wardwell,是Black Pixel的資深iOS及Mac開發者,在專業級服務器、桌麵和移動領域有20多年軟件開發經驗,並以主要開發者的身份參與製作瞭很多款Apple App Store上的優秀iOS應用程序,包括USA Today及Fox News。。
愛飛翔,資深軟件開發工程師,擅長Web開發、移動開發和遊戲開發,有10餘年開發經驗,曾主導和參與瞭多個手機遊戲和手機軟件項目的開發,經驗十分豐富。業餘愛好文學和曆史,有一定的文學造詣。翻譯並齣版瞭《Android遊戲開發實踐指南》、《測試驅動的iOS開發》、《HTML5 Canvas核心技術:圖形、動畫與遊戲開發》、《NoSQL精粹》和《JavaScript應用開發實踐指南》等書。
譯者序
前 言
緻 謝
第1章 手勢與觸摸 1
1.1 觸摸 1
1.1.1 觸摸操作所處的階段 2
1.1.2 UIResponder類中的觸摸事件響應方法 3
1.1.3 對視圖的觸摸 4
1.1.4 多點觸摸 4
1.1.5 手勢識彆器 5
1.2 解決方案:添加簡單的直接操縱界麵 5
1.3 解決方案:添加拖動手勢識彆器 7
1.4 解決方案:同時使用多個手勢識彆器 9
1.5 解決方案:限製移動 14
1.6 解決方案:測試觸摸 15
1.7 解決方案:針對位圖的觸摸測試 17
1.8 解決方案:根據觸摸情況在屏幕上繪製內容 19
1.9 解決方案:令繪製效果變得平滑 21
1.10 解決方案:啓用多點觸摸 24
1.11 解決方案:檢測圓圈手勢 27
1.12 解決方案:創建自定義手勢識彆器 32
1.13 解決方案:把滾動視圖中的內容拖曳到外麵 34
1.14 解決方案:實時的觸摸反饋 37
1.14.1 啓用觸摸反饋效果 38
1.14.2 攔截並轉發觸摸事件 38
1.14.3 實現TOUCHkit的TOUCHkitView類 40
1.15 解決方案:嚮視圖中添加菜單 42
1.16 小結 43
第2章 構建並使用控件 45
2.1 UIControl類 45
2.1.1 目標-動作模式 46
2.1.2 控件的種類 46
2.1.3 控件事件 46
2.2 按鈕 48
2.3 Interface Builder中的按鈕 50
2.4 解決方案:構建按鈕 51
2.4.1 多行按鈕文本 54
2.4.2 為按鈕添加動畫元件 54
2.4.3 為按鈕添加額外狀態 55
2.5 解決方案:使按鈕以動畫效果來響應用戶 55
2.6 解決方案:為滑杆控件添加自定義的滑塊 57
2.6.1 定製UISlider控件 57
2.6.2 添加優化代碼 58
2.7 解決方案:創建可以連續點擊兩次的分段選擇控件 61
2.7.1 實現第二次點擊時的反饋效果 62
2.7.2 控件及帶屬性的字符串 63
2.8 開關控件與步進控件 64
2.9 解決方案:編寫UIControl的子類 65
2.9.1 創建控件 68
2.9.2 追蹤觸摸事件 68
2.9.3 派發控件事件 69
2.10 解決方案:構建評分所用的Star Slider控件 69
2.11 解決方案:構建觸摸轉盤控件 72
2.12 解決方案:創建拉曳控件 75
2.12.1 為控件添加提示效果 75
2.12.2 測試觸摸 77
2.13 解決方案:構建自定義的鎖定控件 80
2.14 解決方案:圖片庫查看器 83
2.15 構建工具欄 85
2.16 小結 88
第3章 提醒用戶 89
3.1 直接嚮用戶彈齣警告視圖 89
3.1.1 構建簡單的警告視圖 89
3.1.2 設置UIAlertView的委托 91
3.1.3 顯示UIAlertView 92
3.1.4 各種UIAlertView 92
3.2 解決方案:構建支持塊的警告視圖 93
3.2.1 塊簡介 93
3.2.2 使用塊時避免保留循環 95
3.3 解決方案:將變長參數列錶與UIAlertView結閤起來使用 98
3.4 展示選項列錶 99
3.4.1 滾動菜單 101
3.4.2 在動作錶中顯示文本 101
3.5 將操作進度告知用戶並提示其稍等片刻 102
3.5.1 使用UIActivity-IndicatorView 103
3.5.2 使用UIProgressView 103
3.6 解決方案:在屏幕上繪製模態的進度指示器 104
3.7 解決方案:自製的模態警告視圖 106
3.8 解決方案:基本的popover 110
3.9 解決方案:本機通知 111
3.10 用網絡活動指示器提醒用戶 113
3.11 解決方案:播放簡單的提示音 114
3.11.1 System Sound 114
3.11.2 為使用係統框架而引入模塊 115
3.11.3 震動 115
3.11.4 警示音 116
3.11.5 延遲 117
3.11.6 釋放係統音 117
3.12 小結 117
第4章 編排視圖及其動畫效果 119
4.1 視圖層級 119
4.2 解決方案:用樹狀圖來描述視圖層級 121
4.3 解決方案:查詢子視圖 123
4.4 管理子視圖 125
4.4.1 添加子視圖 125
4.4.2 重排及刪除子視圖 125
4.4.3 UIView的迴調方法 125
4.5 為視圖設定標簽並查找視圖 126
4.6 解決方案:通過對象關聯機製為視圖設定名稱 127
4.7 視圖的幾何特徵 129
4.7.1 框架 130
4.7.2 與CGRect有關的工具函數 130
4.7.3 CGPoint與CGSize 131
4.7.4 CGAffineTransform 132
4.7.5 坐標係統 133
4.8 解決方案:操控視圖的框架 133
4.8.1 調整視圖的尺寸 134
4.8.2 CGRect與中心點 136
4.8.3 視圖的其他幾何特徵 137
4.9 解決方案:獲取與坐標變換有關的信息 141
4.9.1 獲取與變換有關的屬性 141
4.9.2 判斷兩個視圖是否相交 142
4.10 與顯示和交互有關的特徵 147
4.11 UIView的動畫效果 148
4.12 解決方案:視圖的淡入與淡齣 150
4.13 解決方案:交換兩個視圖的前後順序 151
4.14 解決方案:翻轉視圖 151
4.15 解決方案:采用Core Animation API來製作切換效果 153
4.16 解決方案:使視圖在齣現之後迴彈 155
4.17 解決方案:關鍵幀動畫 156
4.18 解決方案:UIImageView的動畫效果 157
4.19 小結 158
第5章 視圖的約束係統 160
5.1 什麼是約束 161
5.2 約束係統所用的屬性 161
5.3 約束係統的運作規律 163
5.4 約束規則與框架屬性 165
5.4.1 固有內容的尺寸 165
5.4.2 對齊矩形 166
5.5 創建約束規則 167
5.5.1 基本約束規則聲明 167
5.5.2 用可視化格式字符串聲明約束規則 168
5.5.3 變量綁定 169
5.6 格式字符串 169
5.6.1 方嚮 169
5.6.2 連接 171
5.7 謂詞 173
5.7.1 指標 173
5.7.2 描述兩個視圖關係的謂詞 174
5.7.3 優先級 174
5.8 格式字符串總結 174
5.9 用格式字符串將視圖對齊並靈活調整其尺寸 176
5.10 處理約束規則的流程 176
5.11 管理約束規則 177
5.12 解決方案:實現約束規則之間的對比 178
5.13 解決方案:創建尺寸固定且受規則約束的視圖 181
5.13.1 禁用translatesAutoresizing-MaskIntoConstraints 181
5.13.2 令視圖齣現在上級視圖範圍內 182
5.13.3 限定視圖的尺寸 183
5.13.4 把前麵各節內容拼裝起來 183
5.14 解決方案:將兩個視圖居中對齊 185
5.15 解決方案:設定寬高比 186
5.16 解決方案:響應屏幕方嚮的變更 188
5.17 調試約束規則 190
5.18 解決方案:描述約束規則 191
5.19 用宏來創建約束規則 194
5.20 小結 197
第6章 文本輸入 198
6.1 解決方案:隱藏UITextField的鍵盤 199
6.1.1 阻止係統把鍵盤隱藏起來 200
6.1.2 UITextInputTraits協議中的屬性 200
6.1.3 文本框的其他屬性 201
6.2 解決方案:把帶有自定義輔助視圖的鍵盤隱藏起來 203
6.3 解決方案:根據鍵盤來調整文本視圖 205
6.4 解決方案:創建自定義的輸入視圖 209
6.5 解決方案:使視圖具備文本輸入功能 213
6.6 解決方案:為非文本視圖添加自定義的輸入視圖 216
6.7 解決方案:創建更好的文本編輯器(第一部分) 218
6.8 解決方案:創建更好的文本編輯器(第二部分) 221
6.8.1 啓用Attributed Text 221
6.8.2 控製文本的樣式 221
6.8.3 可供UIResponder使用的其他功能 223
6.9 解決方案:過濾用戶所輸入的文本 224
6.10 解決方案:檢測文本模式 226
6.10.1 構建自己的正則錶達式 227
6.10.2 枚舉正則錶達式 227
6.10.3 數據探測器 228
6.10.4 使用內置類型的探測器 229
6.10.5 有用的網站 229
6.11 解決方案:檢測UITextView中的拼寫錯誤 231
6.12 搜尋文本中的字符串 232
6.13 小結 233
第7章 使用視圖控製器 234
7.1 視圖控製器 234
7.1.1 UIViewController類 235
7.1.2 導航控製器 235
7.1.3 標簽欄控製器 235
7.1.4 分欄視圖控製器 236
7.1.5 頁麵視圖控製器 236
7.1.6 popover控製器 236
7.2 使用導航控製器與分欄視圖控製器來開發程序 237
7.2.1 使用導航控製器與導航棧 238
7.2.2 推入與彈齣視圖控製器 239
7.2.3 導航欄上的按鈕 239
7.2.4 延伸至屏幕邊緣的布局形式 240
7.3 解決方案:UINavigationItem類 241
7.3.1 標題與後退按鈕 242
7.3.2 宏 242
7.4 解決方案:模態界麵 244
7.5 解決方案:構建分欄視圖控製器 248
7.6 解決方案:用分欄視圖及導航控製器創建通用的程序 253
7.7 解決方案:標簽欄 255
7.8 記住標簽的狀態 259
7.9 解決方案:頁麵視圖控製器 262
7.9.1 與書籍展示風格有關的屬性 262
7.9.2 封裝實現細節 263
7.9.3 範例代碼詳解 269
7.9.4 構建界麵索引 270
7.10 解決方案:自定義的容器 271
7.10.1 添加與移除子視圖控製器 274
7.10.2 視圖控製器之間的切換效果 275
7.11 解決方案:segue 276
7.12 小結 282
第8章 常用的控製器 284
8.1 圖像選取器控製器 284
8.1.1 圖像來源 284
8.1.2 在iPhone和iPad中顯示選取器 285
8.2 解決方案:選取圖像 286
8.2.1 嚮模擬器中添加圖片 286
8.2.2 AssetsLibrary模塊 286
8.2.3 展示選取器 287
8.2.4 處理delegate的迴調 288
8.3 解決方案:拍攝照片 293
8.3.1 配置選取器 293
8.3.2 顯示圖像 295
8.3.3 把圖像保存到相冊 295
8.4 解決方案:錄製視頻 297
8.4.1 創建錄製視頻用的選取器 298
8.4.2 保存視頻 299
8.5 解決方案:用媒體播放器播放視頻 299
8.6 解決方案:編輯視頻 302
8.7 解決方案:選取並編輯視頻 304
8.8 解決方案:通過電子郵件發送圖片 306
8.9 解決方案:發送文本消息 309
8.10 解決方案:在社交網站發布消息 311
8.11 小結 313
第9章 創建並管理錶格視圖 314
9.1 iOS的錶格 314
9.2 委托 315
9.3 創建錶格 316
9.3.1 錶格的樣式 316
9.3.2 排布錶格視圖 316
9.3.3 設置數據源 317
9.3.4 提供單元格 317
9.3.5 注冊單元格類 317
9.3.6 從隊列中取齣單元格 318
9.3.7 設置delegate 318
9.4 解決方案:實現簡單的錶格 319
9.4.1 數據源方法 319
9.4.2 響應用戶的觸摸 322
9.5 UITableViewCell類 322
9.5.1 單元格的selectionStyle屬性 323
9.5.2 添加自定義的單元格受選效果 323
9.6 解決方案:創建帶有選取標記的單元格 323
9.7 給單元格添加詳情展示控件 325
9.8 解決方案:編輯錶格 327
9.8.1 添加撤銷功能 331
9.8.2 實現撤銷功能 332
9.8.3 顯示移除單元格所用的控件 332
9.8.4 處理刪除請求 332
9.8.5 通過滑動手勢刪除單元格 333
9.8.6 調整單元格的順序 333
9.8.7 添加單元格 333
9.9 解決方案:操控錶格的區段 334
9.9.1 構建區段 334
9.9.2 區段數量與區段內的行數 335
9.9.3 返迴單元格 335
9.9.4 創建每個區段的頭部標題 337
9.9.5 定製錶格與區段的頭部及尾部 338
9.9.6 創建區段索引 338
9.9.7 處理索引與區段不匹配的問題 339
9.9.8 為分區錶格實現委托方法 339
9.10 解決方案:在錶格中搜索 339
9.10.1 創建搜索顯示控製器 341
9.10.2 為搜索顯示控製器注冊單元格 341
9.10.3 構建支持搜索功能的數據源方法 342
9.10.4 委托方法 343
9.10.5 使用與搜索功能相配套的索引 344
9.11 解決方案:給錶格添加下拉刷新功能 345
9.12 解決方案:添加指令行 348
9.13 製作自定義的分組錶格 351
9.14 解決方案:構建含有多個滾輪的錶格 352
9.14.1 創建UIPickerView 353
9.14.2 數據源方法與委托方法 353
9.14.3 使用帶有選取器的視圖 354
9.15 使用UIDatePicker 356
9.16 小結 357
第10章 集閤視圖 358
10.1 集閤視圖與錶格的異同 358
10.2 建立集閤視圖 360
10.2.1 通過控製器使用集閤視圖 361
10.2.2 直接使用集閤視圖 361
10.2.3 數據源與委托 362
10.3 流式布局 362
10.3.1 滾動方嚮 362
10.3.2 條目的尺寸以及行間距 362
iOS核心開發手冊(原書第5版) 下載 mobi epub pdf txt 電子書 格式
iOS核心開發手冊(原書第5版) 下載 mobi pdf epub txt 電子書 格式 2024
iOS核心開發手冊(原書第5版) 下載 mobi epub pdf 電子書學習必備,裏麵有很多方法值得學習
評分 評分習慣性好評
評分書不錯,新齣版的。很好
評分書的質量不錯,快遞也挺速度的
評分書還不錯,介紹API比較完整,到IOS7版本
評分需要深入學習下這本書,還是有不少東西可以藉鑒的~
評分一張紙,一雙手,創造一個充滿魔力的世界
評分書質量不錯,感覺內容一般,沒有深度
iOS核心開發手冊(原書第5版) mobi epub pdf txt 電子書 格式下載 2024