《7天玩轉iOS 界面開發》是2016年7月電子工業出版社出版的圖書,作者是張益琿。
基本介紹
- 書名:7天玩轉iOS 界面開發
- 作者:張益琿
- ISBN:978-7-121-29045-9
- 頁數:256頁
- 定價:55.00元
- 出版社:電子工業出版社
- 出版時間:2016年7月
內容簡介,編輯推薦,內容提要,目錄,前言,
內容簡介
《7天玩轉iOS 界面開發》是一套系統的iOS UI開發教程,基本涵蓋iOS開發中所用到的全部系統UI控制項,在詳細講解基礎運用的基礎上,更深層次地分析了高級用法,為有編程基礎但不是iOS開發者的程式設計師轉iOS開發提供了便捷的學習路徑。同樣,對於沒有開發基礎,但有Objective-C基礎的讀者而言,也是一套很好的使用教程。
編輯推薦
從零到有能力開發一款iOS套用需經過4個階段,第一階段是語言的學習,第二階段是學習iOS開發框架的界面開發部分。因為移動端套用直接與用戶互動,而界面是其重要的組成部分,因此這一階段主要學習iOS界面框架架構、開發框架中提供的系統UI控制項以及掌握自定義UI控制項的相關知識。經過此階段的學習,讀者將具備編寫商業界面、完成套用獨立模組的能力。
學習開發框架中的UI控制項和學習基礎語法有很大不同,對於語法的學習,要刨根問底,掌握每一個細節知識點。而學習開發框架中的UI控制項時,讀者不必糾結實現原理,只需知道什麼時候用、怎么用、如何擴展即可。因而本書在編寫時,始終抓住這個原則,將iOS開發中最常用、最核心的UI控制項與界面開發技巧整合擴展,整理成7天的教程,正如書名《7天玩轉iOS界面開發》。相信通過對本書的學習,讀者可以迅速掌握iOS界面開發的脈絡。
內容提要
《7天玩轉iOS 界面開發》是一套系統的iOS UI開發教程,基本涵蓋iOS開發中所用到的全部系統UI控制項,在詳細講解基礎運用的基礎上,更深層次地分析了高級用法,為有編程基礎但不是iOS開發者的程式設計師轉iOS開發提供了便捷的學習路徑。同樣,對於沒有開發基礎,但有Objective-C基礎的讀者而言,也是一套很好的使用教程。
《7天玩轉iOS 界面開發》適合的讀者有:1.轉iOS開發的其他軟體開發者。2.有語法基礎的iOS開發學習者。3.想更深入理解iOS UI開發的開發者。
目錄
第1天 iOS基礎UI控制項(上) 1
1.1 承載文字的精靈——UILabel 1
1.1.1 創建第一個iOS項目Hello World 1
1.1.2 使用代碼重建Hello World項目 7
1.1.3 iOS系統中的UI坐標系 8
1.1.4 UILabel的相關屬性設定 9
1.1.5 多行UILabel控制項與換行模式 11
1.2 最簡單的互動控制項——UIButton 13
1.2.1 在螢幕上創建一個UIButton控制項 13
1.2.2 UIButton控制項的互動狀態 14
1.2.3 UIButton類中可以自定義的一些常用屬性 15
1.2.4 為UIButton對象添加觸發方法 18
1.3 專業顯示圖片的控制項——UIImageView 19
1.3.1 使用UIImageView在螢幕上創建一個圖片元素 20
1.3.2 連續變換播放的圖片形成動畫——UIImageView的幀動畫 21
1.4 搜尋框控制項——UISearchBar 23
1.4.1 添加一個搜尋框控制項 23
1.4.2 UISearchBar中常用屬性的用法 24
1.4.3 UISearchBar的擴展欄 27
1.4.4 UISearchBar的代理方法 28
1.5 簡潔小巧的切換控制項——UISegmentedControl 30
1.5.1 創建和初始化UISegmentedControl對象 30
1.5.2 UISegmentedControl中的常用屬性與方法 31
1.5.3 UISegmmentedControl中切換模組按鈕的增、刪、改以及布局操作 32
1.5.4 為UISementedControl控制項對象添加觸發方法 35
1.6 文本輸入互動的基礎——UITextField 36
1.6.1 搭建一個用戶登錄界面 36
1.6.2 為UITextField添加掛件 39
1.6.3 監聽用戶的輸入操作 40
1.6.4 收鍵盤操作 42
1.7 連續變化的美——UISlider 43
1.7.1 通過滑塊控制項控制視圖的顏色漸變 43
1.7.2 UISlider中常用的可自定義屬性 44
第2天 基礎UI控制項(下) 47
2.1 簡潔小巧的開關控制項——UISwitch 47
2.1.1 創建一個UISwitch控制項 47
2.1.2 UISwitch控制項中常用屬性解析 48
2.1.3 為UISwitch控制項添加觸發方法 49
2.2 讓等待不再寂寞——UIActivityIndicatorView 49
2.2.1 在視圖上創建一個UIActivityIndicatorView控制項 50
2.2.2 設計一個全局共享的活動指示器控制項 52
2.3 扁平化風格的進度條——UIProgressView 55
2.4 分頁控制器——UIPageControl 57
2.5 步進控制器——UIStepper 58
2.5.1 創建一個步進控制器控制項 58
2.5.2 為UIStepper控制項添加圖片修飾 60
2.6 警告框視圖——UIAlertView 62
2.6.1 在視圖上彈出一個警告框 62
2.6.2 UIAlertView的代理方法 64
2.7 活動列表——UIActionSheet 65
2.7.1 在視圖上彈出一個UIActionSheet控制項 65
2.7.2 UIActionSheet控制項的代理方法 66
2.8 統一的警告控制器——UIAlertController 67
2.8.1 關於UIAlertAction類 67
2.8.2 使用UIAlertController創建警告框和活動列表 68
2.8.3 為警告框風格的UIAlertController添加文本輸入框 69
第3天 高級UI控制項 71
3.1 自由移動的視圖——UIScrollView 71
3.1.1 創建一個UIScrollView控制項來展示大圖片 71
3.1.2 UIScrollView中常用方法與屬性解析 72
3.1.3 UIScrollViewDelegate協定中的方法 74
3.1.4 關於UIScrollView的縮放操作 75
3.2 基礎的表格視圖——UITableView 77
3.2.1 使用表格視圖展示列表數據 77
3.2.2 UITableView中數據載體cell的復用機制 79
3.2.3 數據載體UITableViewCell 80
3.2.4 UITableView的編輯模式 82
3.2.5 UITableView的頭視圖與尾視圖 84
3.2.6 為UITableView添加索引欄 85
3.3 高級文本視圖——UITextView 86
3.3.1 創建一個UITextView控制項 86
3.3.2 UITextView中的常用屬性與方法 87
3.3.3 UITextViewDelegate協定中的常用方法 88
3.4 高級集合布局視圖——UICollectionView 90
3.4.1 UICollectionView控制項的優勢與布局方式 91
3.4.2 使用UICollectionView進行九宮格式的布局 91
3.4.3 創建更加靈活的流式布局 93
3.4.4 參差瀑布流布局 94
3.4.5 使用UICollectionView進行圓環布局 98
3.5 選擇器控制項——UIPickerView 101
3.5.1 創建一個UIPickerView控制項 102
3.5.2 UIPickerView選中數據時的回調代理 103
3.6 時間選擇器——UIDatePicker 104
3.7 網頁視圖與iOS原生視圖的完美結合——UIWebView 106
3.7.1 APP網路傳輸安全策略 106
3.7.2 通過網路請求載入UIWebView 107
3.7.3 通過HTML字元串載入UIWebView 108
3.7.4 通過NSData數據載入UIWebView 109
3.7.5 UIWebView中常用方法解析 110
3.7.6 UIWebView的代理方法 111
第4天 視圖與邏輯的管理者 113
4.1 基礎的視圖控制器——UIViewController 113
4.1.1 UIViewController的生命周期 113
4.1.2 UIViewController的視圖層級結構 118
4.1.3 UIViewController的切換跳轉 119
4.2 表格視圖控制器——UITableViewController 121
4.2.1 自定義一個UITableViewController 121
4.2.2 UITableViewController自帶的下拉刷新控制項 122
4.3 導航控制器——UINavigationController 124
4.3.1 導航控制器的工作原理 124
4.3.2 使用導航控制器進行多界面搭建 125
4.3.3 關於導航欄UINavigationBar 129
4.3.4 導航按鈕UIBarButtonItem 131
4.3.5 導航控制器的工具列 133
4.3.6 iOS 8之後導航控制器的一些有趣功能 134
4.4 標籤控制器——UITabBarController 135
4.4.1 標籤控制器的工作原理 135
4.4.2 標籤控制器的基礎用法解析 135
4.4.3 UITabBarItem的使用 138
第5天 iOS動畫開發基礎 139
5.1 UIView層動畫的套用 139
5.1.1 執行UIView層過渡動畫的三個類方法 139
5.1.2 創建UIView層的阻尼動畫 141
5.1.3 動畫參數配置與組合動畫 142
5.1.4 UIView層過渡動畫支持的屬性 144
5.2 UIView層動畫的另一種創建方式 145
5.2.1 使用commit方式進行UIView層過渡動畫的創建 145
5.2.2 兩種UIView層動畫創建方式的優劣 147
5.3 UIView的轉場動畫 147
5.3.1 重繪UIView視圖時使用的轉場動畫 147
5.3.2 切換UIView視圖時使用的轉場動畫 148
5.4 核心動畫編程技術——CoreAnimation 149
5.4.1 錨點對視圖控制項幾何位置的影響 150
5.4.2 色彩梯度層——CAGradientLayer 151
5.4.3 視圖備份層——CAReplicatorLayer 152
5.4.4 圖形渲染層——CAShapeLayer 153
5.4.5 文本繪製層——CATextLayer 154
5.4.6 CAAnimation動畫體系介紹 155
5.4.7 使用CABasicAnimation創建基礎動畫 157
5.4.8 使用CAKeyframeAnimation類創建關鍵幀動畫 160
5.4.9 CALayer層的轉場動畫——CATransition 161
5.4.10 CALayer層的組合動畫——CAAnimationGroup 162
5.4.11 CATransform3D變換的套用 163
5.5 炫酷的粒子效果 165
5.5.1 粒子發射器——CAEmitterLayer 166
5.5.2 粒子單元——CAEmitterCell 168
5.5.3 創建粒子火焰動畫 169
5.6 播放GIF動態圖 171
5.6.1 使用UIWebView進行GIF動態圖播放 171
5.6.2 使用UIImageView幀動畫進行GIF動態圖播放 172
第6天 iOS界面布局 175
6.1 傳統的UIViewAutoresizing布局模式 175
6.1.1 通過代碼來設定視圖控制項的UIViewAutoresizing模式 176
6.1.2 可視化地配置控制項的autoresizing屬性 179
6.2 autolayout自動布局框架 180
6.2.1 初識autolayout 180
6.2.2 autolayout的屬性意義與一個簡單的自動布局示例 182
6.2.3 使用Objective-C風格的方法進行代碼autolayout布局 186
6.2.4 使用格式化的字元進行autolayout布局對象的創建 188
6.2.5 管理約束相關的幾個方法 191
6.2.6 使用autolayout設計一個高度自適應的聊天輸入框及動畫最佳化 191
6.2.7 使用第三方庫Masonry進行autolayout約束布局 193
第7天 iOS界面開發擴展知識 199
7.1 調用系統撥號與簡訊息套用 199
7.1.1 跳轉到系統撥號套用界面 199
7.1.2 跳轉到系統短訊息界面 200
7.2 iOS視頻播放技術 202
7.2.1 向套用中嵌入視頻模組 203
7.2.2 MPMoviePlayerController常用屬性與方法解析 204
7.3 視頻播放器視圖控制器——MPMoviePlayerViewController 208
7.4 AVPlayerViewController視頻播放框架與畫中畫開發技術 209
7.4.1 使用AVPlayerViewController進行視頻播放 210
7.4.2 iPad上的畫中畫播放技術 213
7.5 翻書效果的閱讀器視圖——UIPageViewController 215
7.5.1 創建UIPageViewController視圖控制器 216
7.5.2 雙翻頁效果的UIPageViewController 220
7.6 更加靈活地創建標籤文字——NSAttributedString的套用 221
7.6.1 NSAttributedString類簡介 222
7.6.2 可變的屬性字元串NSMutableAttributedString 222
7.7 毛玻璃效果的套用——界面模糊處理 224
7.8 iOS地圖視圖編程技術 226
7.8.1 進行設備地理位置定位 226
7.8.2 原生地圖開發技術 229
7.8.3 在地圖中添加大頭針及標註 232
7.8.4 在地圖視圖中添加覆蓋物 235
7.8.5 在地圖中進行線路導航與附近興趣點檢索 238
前言
iOS應用程式開發是移動開發的一個方向,近年來,隨著移動開發越來越熱,越來越多的人進入iOS套用開發這一領域。然而,無論對於剛從學校出來的畢業生,還是相關行業的從業者,學習並掌握一種新的開發技能都不是一件容易的事情。從零到完全有能力獨立開發一款iOS應用程式,一般要經歷四個階段。
第1階段是平台語言的學習。iOS應用程式可以使用兩種語言來進行開發,即已經比較成熟的Objective-C和相對年輕的Swift,對語言的學習要多寫多練,培養編程的感覺與思路。
第2階段是學習iOS開發框架的界面開發部分。因為移動端套用直接與用戶互動,而界面是其重要的組成部分,因此這一階段主要學習iOS界面框架架構、開發框架中提供的系統UI控制項以及掌握自定義UI控制項的相關知識。經過此階段的學習,讀者將具備編寫商業界面、完成套用獨立模組的能力。
第3階段主要學習套用網路互動的相關知識,使得應用程式不再只是單機運行,而是可以進行網路互動。
第4階段為實戰階段,這個階段將通過實戰項目,綜合套用前面所學的知識,使讀者具備獨立開發能力。
上面的四個階段是學習iOS套用開發的必經之路,本書面向的讀者對象是學習了語言基礎正處於學習界面開發階段的iOS開發學習者,或者想更深入了解iOS界面開發技巧的iOS開發從業者。
天下武功,唯快不破。本書將展開介紹iOS開發框架中的各種系統UI控制項,並提供一些實戰例子幫助讀者快速地熟練套用這些控制項。學習開發框架中的UI控制項和學習基礎語法有很大不同,對於語法的學習,要刨根問底,掌握每一個細節知識點。而學習開發框架中的UI控制項時,讀者不必糾結實現原理,只需知道什麼時候用、怎么用、如何擴展即可。因而本書在編寫時,始終抓住這個原則,將iOS開發中最常用、最核心的UI控制項與界面開發技巧整合擴展,整理成7天的教程,正如書名《7天玩轉iOS界面開發》。相信通過對本書的學習,讀者可以迅速掌握iOS界面開發的脈絡。
本書第1天和第2天安排的教程為基礎部分,主要介紹iOS開發框架中簡單的獨立UI控制項,其中也會插入一些小例子和實戰演練。
第3天的教程為高級UI控制項的介紹,這類UI控制項需要通過代理、布局類等複雜的方式才能使用,同樣,其功能也更加強大,可以創建出更加靈活的布局界面。
第4天教程將介紹視圖控制器相關的知識,通過這部分知識,讀者將不再局限於獨立的UI控制項,而是綜合使用這些UI控制項和控制器編寫出完整的程式界面。
第5天的內容是iOS動畫開發專題,學習界面開發就不得不學習動畫,漂亮的動畫效果是界面設計成功的重要保障。通過對第5天內容的學習,讀者將全面了解iOS開發框架中處理動畫的思路,並有能力處理絕大部分實際開發中的動畫需求。
第6天的內容將介紹iOS套用開發的界面布局策略,這部分的知識對螢幕適配、橫豎屏界面兼容等意義重大。
本書最後一天的內容將作為補充章節,向讀者介紹更多UI方面的開發技巧。