本書共分13章,詳細講解iOS開發的各個知識點,內容包括iOS開發環境介紹,第一個iOS應用——“hello,world”,Cocoa Touch框架的運行機制與開發流程,iOS開發命名習慣與約定,iOS用戶界面元素之UIView與控件,導航控制器,故事板Storyboard與頁面跳轉,提醒用戶,表視圖之UITableView,iOS常用設計模式,iPad開發之差異,數據存儲,觸摸與手勢等內容。
本書既可作為高等院校本、專科計算機相關專業的教學用書,也可作為社會培訓機構的參考用書,還可作為iOS開發愛好者的自學讀物。
本書內容樸實,但突出動手能力的培養,配有14個小案例,幫助讀者實際掌握開發技巧。
黃海,湖南省優秀青年教師,長期從事iOS開發相關課程的教學工作,制作開發了多款App,有豐富的實戰經驗。
第 1章 iOS開發環境介紹 1
1.1 開發前準備 2
1.1.1 iOS介紹 2
1.1.2 Mac OS介紹 2
1.1.3 開發之軟硬件環境要求 3
1.2 Xcode集成開發環境的安裝
與使用 3
1.2.1 下載與安裝Xcode 3
1.2.2 Xcode界面布局與功能介紹 3
1.2.3 Xcode常用快捷鍵 4
1.3 Objective C語言和Swift語言 5
1.3.1 Objective C語言介紹 5
1.3.2 Swift語言介紹 5
1.4 如何使用文檔及獲取幫助 5
1.4.1 Xcode幫助文檔的使用 5
1.4.2 開發中遇到問題如何尋求幫助 6
1.4.3 提問的方式 6
1.5 iOS程序調試、打包與發布
到App Store 7
1.5.1 蘋果開發人員計劃 7
1.5.2 在模擬器中運行程序 7
1.5.3 在真機中運行程序 8
1.5.4 調試命令與技巧 8
1.5.5 將程序打包發布至App Store 9
1.6 小結與作業 11
第 2章 第 一個iOS應用——
“hello,world” 12
2.1 新建項目 13
2.1.1 新建Single View項目 13
2.1.2 項目結構 15
2.2 AppDelegate.m添加代碼 16
2.2.1 創建UIWindow對象 16
2.2.2 創建ViewController對象 17
2.2.3 例行代碼 17
2.3 ViewController.m添加代碼 17
2.3.1 創建UILabel對象 17
2.3.2 設定UILabel對象的位置 17
2.3.3 顯示UILabel對象 18
2.4 運行程序 18
2.4.1 在模擬器上運行程序 18
2.4.2 模擬器操作介紹 18
2.5 小結與作業 19
第3章 Cocoa Touch框架的運行
機制與開發流程 20
3.1 理解UI程序運行的機制 21
3.1.1 程序不是順序運行 21
3.1.2 用戶操作,硬件中斷與消息處理 21
3.2 iOS的消息處理機制 21
3.2.1 協議與代理 21
3.2.2 target與selector 22
3.2.3 消息中心NSNotification 22
3.3 iOS程序開發流程簡介 22
3.3.1 創建窗口和控件 22
3.3.2 視圖與控件事件綁定 22
3.3.3 編寫事件響應方法 23
3.4 MVC方法 23
3.4.1 MVC概述 23
3.4.2 模型 23
3.4.3 視圖 23
3.4.4 控制器 23
3.4.5 再論MVC的意義 24
3.5 小結與作業 24
第4章 iOS開發命名習慣與約定 25
4.1 良好的編程習慣 26
4.1.1 命名方式與一致性 26
4.1.2 換行與縮進 26
4.1.3 編程風格有什么用 26
4.2 iOS的命名習慣 27
4.2.1 駱駝表示法 27
4.2.2 C++式的下劃線表示法 27
4.2.3 使用漢字命名 27
4.3 小結與作業 27
第5章 iOS用戶界面元素
之UIView與控件 28
5.1 UIView概述 29
5.1.1 UIView家族 29
5.1.2 UIView基本屬性 30
5.1.3 視圖層次體系 30
5.1.4 視圖變換 32
5.1.5 項目制作——使用計時器
NSTimer制作簡單動畫 32
5.2 UIControl類 34
5.3 標簽視圖類UILabel 34
5.3.1 UILabel概述 34
5.3.2 UILabel內容大小計算 35
5.4 按鈕控件UIButton 35
5.4.1 按鈕分類 35
5.4.2 按鈕美化 35
5.4.3 添加事件響應方法 36
5.4.4 項目制作——制作簡單計算器 36
5.5 開關控件、滑塊控件與分段控件 41
5.5.1 開關控件 41
5.5.2 滑塊控件 42
5.5.3 分段控件 42
5.5.4 項目制作——制作設置界面 43
5.6 輸入控件 44
5.6.1 UITextField控件 44
5.6.2 UITextView控件 45
5.6.3 項目制作——制作一個輸入界面 46
5.7 日期選擇器UIDatePicker 50
5.7.1 日期選擇器概述 50
5.7.2 日期選擇器屬性介紹 51
5.7.3 日期換算與格式化 51
5.8 自定義選擇器UIPickerView 51
5.8.1 自定義選擇器概述 51
5.8.2 UIPickerView代理 52
5.8.3 項目制作——制作一個選擇器 53
5.9 鍵盤定制與遮擋問題 56
5.9.1 鍵盤種類 56
5.9.2 定制輸入界面 57
5.9.3 定制輔助輸入界面 57
5.9.4 鍵盤遮擋問題 58
5.9.5 關閉鍵盤 58
5.9.6 將焦點轉移至下一個輸入控件 58
5.9.7 項目制作——制作一個
日期計算器 59
5.10 網頁控件UIWebView 62
5.10.1 網頁控件概述 62
5.10.2 UIWebView代理 62
5.10.3 項目制作——制作一個微型
瀏覽器 63
5.11 工具欄與導航欄 66
5.11.1 工具欄UIToolBar
與UIBarButtonItem 67
5.11.2 導航欄UINavigationBar
與UINavigationItem 68
5.11.3 總結UIBarButtonItem 70
5.12 UIView動畫 70
5.12.1 動畫概述 70
5.12.2 動畫的幾種方式 70
5.13 子類化UIControl:設計自己
的控件 71
5.14 小結與作業 74
第6章 導航控制器 76
6.1 導航控制器概述 77
6.1.1 UIViewController的幾個屬性 77
6.1.2 導航設計 79
6.2 導航控制器
UINavigationController 80
6.2.1 關于導航欄 80
6.2.2 關于工具欄 85
6.3 標簽頁控制器
UITabBarController 86
6.3.1 設置圖標 86
6.3.2 多于五個標簽的情況 86
6.4 小結與作業 87
第7章 故事板Storyboard
與頁面跳轉 88
7.1 故事板Storyboard概述 89
7.2 使用Storyboard設計界面 89
7.2.1 通過鼠標拖拉建立控件 89
7.2.2 大小、位置等屬性控制 91
7.3 Storyboard如何與代碼配合 91
7.3.1 控件指定類 91
7.3.2 UIStoryboard類 92
7.3.3 UIStoryboardSegue類 92
7.4 給控件綁定事件與實現跳轉 95
7.5 小結與作業 97
第8章 提醒用戶 98
8.1 警告框UIAlertView 99
8.2 操作表UIActionSheet 100
8.3 活動指示器
UIActivityIndicatorView 101
8.4 進度條控件UIProgressView 101
8.5 小結與作業 102
第9章 表視圖之UITableView 103
9.1 表視圖概述 104
9.1.1 表視圖結構 105
9.1.2 相關類 105
9.1.3 表視圖種類 105
9.1.4 單元格樣式與定制 106
9.1.5 表視圖協議 108
9.2 項目制作——第 一個表視圖
項目 109
9.2.1 建立項目 109
9.2.2 準備數據 112
9.2.3 實現表視圖協議 113
9.3 分節表 114
9.3.1 分節表概述 114
9.3.2 項目制作——簡單通訊錄制作 115
9.3.3 建立表索引 117
9.4 搜索欄制作 119
9.4.1 UISearchBar和
UISearchController 119
9.4.2 NSPredicate使用 123
9.5 表的增刪改 124
9.5.1 刪除單元格 125
9.5.2 增加單元格 126
9.5.3 改動及刷新單元格 131
9.6 項目制作——制作簡單記事本 138
9.6.1 建立項目 138
9.6.2 記事本列表頁面制作 140
9.6.3 記事本添加與編輯頁面制作 144
9.6.4 添加搜索框 149
9.7 小結與作業 151
第 10章 iOS常用設計模式 152
10.1 單例模式 153
10.2 委托模式 154
10.3 觀察者模式 154
10.4 小結與作業 155
第 11章 iPad開發之差異 156
11.1 iPad開發概述 157
11.2 iPad專用API 157
11.2.1 UIPopOverController控制器 157
11.2.2 UISplitViewController控制器 163
11.3 小結與作業 167
第 12章 數據存儲 168
12.1 文件保存與恢復 169
12.1.1 沙盒機制 169
12.1.2 數據類(NSArray、NSDictionary
等)的保存與恢復 169
12.1.3 文件操作相關類 174
12.2 內置數據庫sqlite3 176
12.2.1 概述 176
12.2.2 sqlite3接口函數介紹 177
12.3 CoreData 181
12.3.1 建立數據模型 181
12.3.2 生成實體類 184
12.3.3 項目制作——制作一個表格 184
12.4 小結與作業 190
第 13章 觸摸與手勢 191
13.1 觸摸與手勢概述 192
13.2 點按手勢 193
13.2.1 點按手勢概述 193
13.2.2 項目制作——制作“按鈕” 193
13.3 捏拉縮放與旋轉手勢 197
13.3.1 捏拉縮放與旋轉手勢概述 197
13.3.2 項目制作——制作圖片查看器 197
13.4 手勢沖突問題 204
13.5 滑動類手勢 205
13.5.1 滑動類手勢概述 205
13.5.2 項目制作——制作豎向滾動條 205
13.6 小結與作業 208