-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

瘋狂iOS講義(上)(第2版)——Objective-C 2.0與iPhone/iPad應用開發基礎

( 簡體 字)
作者:李剛類別:1. -> 程式設計 -> 手機程式 -> iPhone
譯者:
出版社:電子工業出版社瘋狂iOS講義(上)(第2版)——Objective-C 2.0與iPhone/iPad應用開發基礎 3dWoo書號: 41074
詢問書籍請說出此書號!

有庫存
NT售價: 495

出版日:4/1/2015
頁數:716
光碟數:1
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121256134
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

前 言

移動互聯網熱潮在全世界引起了巨大反響,移動互聯網正在改變著傳統互聯網的格局,全世界的IT公司爭相將業務重心向移動互聯網轉型,移動互聯網業務也成為業內最大的利潤增長點。
Apple公司的iOS系統作為與Android并駕齊驅的操作系統,具有非常完善的生態圈,而且用戶具有良好的付費習慣,吸引了大量的專業軟件和小團隊,甚至包括個人用戶。
Apple公司提供的App Store作為應用程序市場,它賦予了缺乏市場運作能力的第三方開發商和草根開發者新的商業機會:開發商和草根開發者只需專注于應用的開發,而市場和銷售則交給Apple公司管理。在這種模式下,即使小型團隊,甚至個人開發者也可以創造財富神話。
Apple公司在全世界IT行業是一個極富傳奇色彩的公司,它一度成為全球市值最大的IT公司,Apple公司的產品對于年輕人始終具有神奇的魔力,尤其是iPhone和iPad兩款廣為人知的產品,更是讓無數追求時尚的年輕人為之癡迷。目前Apple公司也在逐步推出iTV(基于iOS系統的智能電視)、iWatch(智能手表)等各種個人電子消費品,這些產品也吊足了時尚一族的胃口。Apple公司獨特的設計、市場運作方式、商業模式和公司經營管理理念,也是眾多IT公司競相研究、模仿的對象。
本書是《瘋狂iOS講義(上)》的第2版。本書真正基于最新的iOS 8.1,并采用最新的Xcode 6.1作為開發平臺,書中每個案例、每個截圖都是基于iOS 8.1的。并介紹了iOS 8.1新增的UIVisualEffectView控件,以及iOS 8.1增強的自動布局功能,并通過示例示范了如何利用Size Class和自動布局來開發自定義不同屏幕尺寸的iOS應用。
本書有什么特點
本書是一本介紹iOS應用開發的實用圖書,全面介紹了iOS 8.1平臺上應用開發各方面的知識。與市面上有些介紹iOS編程的圖書不同,本書并沒有花太多篇幅介紹Apple公司、iOS的發展歷史(因為這些內容到處都是),完全沒有介紹Apple Store(因為它只是一個交易網站,與iOS開發無關,但有些圖書甚至用整整一章來介紹它)。
本書只用了一章來介紹如何搭建iOS開發環境和Xcode工具的用法。本書內容大致可分為兩個部分:
第一部分詳細介紹了Objective-C這門看似冷門的編程語言——實際上,Objective-C現在非常熱門,Objective-C語言長期雄踞編程語言排行第3的位置(前兩名是Java、C)。本書介紹Objective-C基本語法、面向對象語法時沒有過多地使用IDE工具,而是帶領讀者使用最基本的文本編輯器學習編程,務必使讀者真正掌握Objective-C語法。
第二部分介紹了iOS開發的基礎,詳細介紹了iOS項目的結構、各文件的作用及其調用關系,并歸納了iOS應用的MVC設計,在代碼中獲取UI控件的3種方式(必須先獲取UI控件,然后即可修改它來更新用戶界面),iOS應用事件處理的3種方式,通過這種方式可以讓讀者快速掌握iOS編程的思路。第二部分的重點是iOS應用的UI界面開發和圖形、圖像處理——全書300多頁、近100個實例全面、系統地介紹了iOS的各種UI控件的功能、用法及其定制方法,并通過相應的實例程序給出了示范。
需要說明的是,本書只是一本介紹iOS應用開發的圖書,不是一本關于所謂“思想”的書,不要指望學習本書能提高你所謂的“iOS思想”,所以奉勸那些希望提高編程思想的讀者不要閱讀本書。
本書更不是一本看完之后可以“吹噓、炫耀”的書——因為本書并沒有堆砌一堆“深奧”的新名詞、一堆“高深”的思想,本書保持了“瘋狂體系”的一貫風格:操作步驟詳細,編程思路清晰,語言平實。只要讀者想學習iOS開發,無須擔心沒有Apple電腦(網絡上使用普通電腦裝黑蘋果的文章鋪天蓋地),無須擔心沒有iPhone(Xcode集成的模擬器在大部分場景下完全可以勝任開發)——即使讀者以前沒有編程基礎,只要有決心和毅力,閱讀本書也不會有任何問題(本書從最基本的Objective-C語法開始講起);只要你有決心和毅力,就可以掌握iOS應用開發。
認真看完本書、把書中所有示例都練習一遍,本書帶給你的只是9個字:“看得懂、學得會、做得出”。本書不能讓你認識一堆新名詞,只會讓你學會實際的iOS應用開發。本書最后綜合運用前面介紹的UI編程、繪圖等知識編寫了一個瘋狂連連看的小游戲,因此認真閱讀本書,掌握書中知識即可開發各種棋類、牌類、益智類的小游戲。
不管怎樣,只要讀者在閱讀本書時遇到知識上的問題,都可以登錄瘋狂Java聯盟(http://www.crazyit.org)與廣大學習者交流,筆者也會通過該平臺與大家一起交流、學習。
本書還具有如下幾個特點。
1.知識全面,覆蓋面廣
本書深入闡述了Objective-C的基本語法,包括類、對象、方法、成員變量、KVC、KVO、繼承和多態等面向對象的基礎知識,也包括類別(category)、擴展(extension)、協議與委托、內存管理與ARC等Objective-C的高級知識。本書詳細介紹了iOS全部圖形界面控件的功能和用法,事件處理機制,iOS圖形、圖像處理,內容全面而深入,覆蓋面非常廣。
2.內容實際,實用性強
本書并不局限于枯燥的理論介紹,而是采用了“項目驅動”的方式來講授知識點,全書有133個實例,幾乎每個知識點都可找到對應的參考實例。本書最后還提供了“瘋狂連連看”應用,具有極高的參考價值。
3.講解詳細,上手容易
本書保持了“瘋狂體系”的一貫風格:操作步驟詳細,編程思路清晰,語言平實。只要讀者有學習的決心和毅力,掌握本書內容就能打下扎實的iOS開發基礎,再通過本書下冊來掌握iOS開發的高級知識,即可完全勝任實際企業中iOS開發的要求。
本書寫給誰看
本書為所有打算深入掌握iOS編程的讀者而編寫,適合各種層次的iOS學習者和開發者閱讀,也適合作為大學教育、培訓機構的iOS教材。但如果只是想簡單涉獵iOS應用開發,則本書過于龐大,不適合閱讀。

2015-02-01
內容簡介:

(含CD光盤1張)本書是《瘋狂iOS講義(上)》的第2版,本書基于最新的iOS 8.1、Xcode 6.1為平臺,全面介紹了iOS應用開發的基礎知識。書中每個案例、每個截圖都全面升級到iOS 8.1。本書全面、細致地介紹了Objective-C的面向對象語法、Foundation框架的核心類庫用法、文件 IO體系等知識,掌握Objective-C語言是iOS應用開發的基礎。本書將帶領讀者掌握iOS應用開發的基本理論以及iOS應用的MVC設計和事件處理編程,重點介紹了iOS界面編程、iOS應用的生命周期等內容。

目錄:

第1章 iOS應用與開發環境 1
1.1 Objective-C與iOS簡介 2
1.1.1 Objective-C簡介 2
1.1.2 iOS簡介 3
1.2 搭建iOS開發環境 3
1.2.1 下載并安裝Xcode和SDK 4
1.2.2 安裝輔助工具和文檔 6
1.3 第一個Objective-C程序 7
1.3.1 使用文本編輯器開發Objective-C程序 7
1.3.2 使用Xcode工具開發Objective-C程序 9
1.4 熟悉Xcode 11
1.4.1 創建iOS項目 11
1.4.2 熟悉導航面板 13
1.4.3 熟悉檢查器面板 16
1.4.4 熟悉庫面板 17
1.4.5 使用Xcode的幫助系統 19
1.5 本章小結 22
第2章 數據類型和運算符 23
2.1 注釋 24
2.2 標識符和變量 25
2.2.1 分隔符 25
2.2.2 標識符規則 27
2.2.3 Objective-C關鍵字 27
2.3 數據類型分類 27
2.4 基本數據類型 28
2.4.1 整型 28
2.4.2 NSLog輸出函數及格式字符 29
2.4.3 字符型 31
2.4.4 浮點型 32
2.4.5 枚舉型 33
2.4.6 BOOL類型 35
2.5 類型轉換 36
2.5.1 自動類型轉換 36
2.5.2 強制類型轉換 38
2.5.3 表達式類型的自動提升 38
2.6 運算符 39
2.6.1 算術運算符 39
2.6.2 賦值運算符 42
2.6.3 位運算符 42
2.6.4 擴展后的賦值運算符 44
2.6.5 比較運算符 45
2.6.6 邏輯運算符 45
2.6.7 逗號運算符 46
2.6.8 三目運算符 46
2.6.9 運算符的結合性和優先級 47
2.7 本章小結 48
第3章 流程控制與數組 49
3.1 順序結構 50
3.2 分支結構 50
3.2.1 if條件語句 50
3.2.2 switch分支語句 54
3.3 循環結構 56
3.3.1 while循環語句 56
3.3.2 do while循環語句 58
3.3.3 for循環 59
3.3.4 嵌套循環 62
3.4 控制循環結構 63
3.4.1 使用break結束循環 63
3.4.2 使用continue結束本次循環 64
3.4.3 使用return結束函數 64
3.5 goto語句 65
3.6 數組 67
3.6.1 定義數組 67
3.6.2 數組的顯式初始化 68
3.6.3 使用數組 69
3.6.4 多維數組 70
3.6.5 多維數組的初始化 71
3.6.6 字符數組、字符串與結束標志 77
3.6.7 輸出字符串和字符串函數 78
3.6.8 數組的應用舉例 80
3.7 本章小結 81
第4章 C語言特性 82
4.1 函數 83
4.1.1 定義函數 83
4.1.2 函數聲明 86
4.1.3 函數的參數傳遞機制 87
4.1.4 遞歸函數 91
4.1.5 數組作為函數參數 92
4.1.6 內部函數與外部函數 96
4.2 局部變量與全局變量 97
4.2.1 局部變量 98
4.2.2 全局變量 99
4.2.3 外部全局變量與內部全局變量 100
4.2.4 動態存儲與靜態存儲 102
4.3 預處理 104
4.3.1 使用#define、#undef執行宏定義 105
4.3.2 帶參數的宏定義 106
4.3.3 使用#ifdef、#ifndef、#else、
#endif執行條件編譯 107
4.3.4 使用#if、#elif、#else、#endif執行條件編譯 109
4.3.5 #include與#import 110
4.4 指針 111
4.4.1 指針的概念 111
4.4.2 指針變量及其基本用法 113
4.4.3 指針變量作為函數參數 114
4.5 指針與數組 117
4.5.1 指向數組的指針變量 117
4.5.2 指針運算 117
4.5.3 數組變量作為函數參數 120
4.5.4 指向多維數組的指針變量 122
4.6 字符串與指針 124
4.6.1 使用字符指針表示字符串 124
4.6.2 字符指針作為函數參數 125
4.7 函數與指針 126
4.7.1 用函數指針變量調用函數 126
4.7.2 用函數指針變量作為函數參數 128
4.7.3 返回指針的函數 129
4.8 指針數組和指向指針變量的指針 130
4.8.1 指針數組與main()函數形參 131
4.8.2 指向指針變量的指針 133
4.9 結構體 134
4.9.1 定義結構體 134
4.9.2 typedef語句 136
4.9.3 初始化結構體變量 137
4.9.4 結構體數組 139
4.10 塊 139
4.10.1 塊的基本語法 140
4.10.2 塊與局部變量 141
4.10.3 直接使用塊作為參數 142
4.10.4 使用typedef定義塊類型 142
4.11 本章小結 144
第5章 面向對象(上) 145
5.1 類和對象 146
5.1.1 定義類 146
5.1.2 對象的產生和使用 150
5.1.3 對象和指針 152
5.1.4 self關鍵字 154
5.1.5 id類型 157
5.2 方法詳解 158
5.2.1 方法的所屬性 158
5.2.2 形參個數可變的方法 159
5.3 成員變量 160
5.3.1 成員變量及其運行機制 160
5.3.2 模擬類變量 163
5.3.3 單例(Singleton)模式 164
5.4 隱藏和封裝 165
5.4.1 理解封裝 165
5.4.2 使用訪問控制符 165
5.4.3 理解@package訪問控制符 169
5.4.4 合成存取方法 170
5.4.5 使用點語法訪問屬性 175
5.5 鍵值編碼(KVC)與鍵值監聽(KVO) 176
5.5.1 簡單的KVC 176
5.5.2 處理不存在的key 179
5.5.3 處理nil值 181
5.5.4 key路徑 182
5.5.5 鍵值監聽(KVO) 183
5.6 對象初始化 186
5.6.1 為對象分配空間 187
5.6.2 初始化方法與對象初始化 187
5.6.3 便利的初始化方法 189
5.7 類的繼承 191
5.7.1 繼承的特點 191
5.7.2 重寫父類的方法 193
5.7.3 super關鍵字 194
5.8 多態 197
5.8.1 多態性 197
5.8.2 指針變量的強制類型轉換 200
5.8.3 判斷指針變量的實際類型 201
5.9 本章小結 202
第6章 面向對象(下) 203
6.1 Objective-C的包裝類 204
6.1.1 它們不是包裝類 204
6.1.2 NSValue和NSNumber 205
6.2 處理對象 206
6.2.1 打印對象和description方法 206
6.2.2 ==和isEqual:方法 208
6.3 類別與擴展 212
6.3.1 類別(category) 213
6.3.2 利用類別對類進行模塊化設計 215
6.3.3 使用類別來調用私有方法 215
6.3.4 擴展(extension) 217
6.4 協議(protocol)與委托 219
6.4.1 規范、協議與接口 219
6.4.2 使用類別實現非正式協議 220
6.4.3 正式協議的定義 221
6.4.4 遵守(實現)協議 222
6.4.5 協議與委托(delegate) 225
6.5 使用@try處理異常 228
6.5.1 使用@try...@catch...@finally捕獲異常 229
6.5.2 訪問異常信息 231
6.5.3 使用@finally回收資源 232
6.5.4 拋出異常與自定義異常類 233
6.6 Objective-C反射機制 235
6.6.1 獲得Class 235
6.6.2 檢查繼承關系 236
6.6.3 動態調用方法 237
6.7 手動內存管理 240
6.7.1 對象的引用計數 242
6.7.2 對象所屬權 244
6.7.3 方法中的保留和釋放 247
6.7.4 使用自動釋放池 248
6.7.5 自動釋放池的銷毀時機與工作過程 250
6.7.6 臨時對象與事件循環中的自動釋放池 251
6.7.7 手動內存管理的規則總結 252
6.8 自動引用計數 253
6.8.1 自動引用計數概述 253
6.8.2 @autoreleasepool塊 254
6.9 本章小結 254
第7章 Foundation框架詳解 256
7.1 字符串(NSString與NSMutableString) 257
7.1.1 創建字符串 257
7.1.2 NSString的常用功能 258
7.1.3 可變字符串(NSMutableString) 259
7.2 日期與時間 260
7.2.1 日期與時間(NSDate) 261
7.2.2 日期格式器(NSDateFormatter) 262
7.2.3 日歷(NSCalendar)與日期組件(NSDateComponents) 264
7.2.4 定時器(NSTimer) 265
7.3 對象復制 267
7.3.1 copy與mutableCopy方法 267
7.3.2 NSCopying與NSMutableCopying協議 268
7.3.3 淺復制與深復制 270
7.3.4 setter方法的復制選項 272
7.4 Objective-C集合概述 273
7.5 數組(NSArray與NSMutableArray) 274
7.5.1 NSArray的功能與用法 274
7.5.2 對集合元素整體調用方法 279
7.5.3 對NSArray進行排序 280
7.5.4 使用枚舉器遍歷NSArray集合元素 282
7.5.5 快速枚舉(for-in) 283
7.5.6 可變數組(NSMutableArray) 283
7.5.7 NSArray的KVC與KVO 285
7.6 集合(NSSet與NSMutableSet) 286
7.6.1 NSSet的功能與用法 286
7.6.2 NSSet判斷集合元素重復的標準 289
7.6.3 NSMutableSet的功能與用法 292
7.6.4 NSCountedSet的功能與用法 293
7.7 有序集合(NSOrderedSet與NSMutableOrderedSet) 294
7.8 字典(NSDictionary與NSMutableDictionary) 296
7.8.1 NSDictionary的功能與用法 296
7.8.2 對NSDictionary的key排序 299
7.8.3 對NSDictionary的key進行過濾 301
7.8.4 使用自定義類作為NSDictionary的key 302
7.8.5 NSMutableDictionary的功能
與用法 304
7.9 謂詞 305
7.9.1 定義謂詞 305
7.9.2 使用謂詞過濾集合 306
7.9.3 在謂詞中使用占位符參數 308
7.9.4 謂詞表達式語法 309
7.10 本章小結 311
第8章 文件I/O 312
8.1 使用NSData與NSMutableData 313
8.2 使用NSFileManager管理文件和目錄 314
8.2.1 訪問文件屬性和內容 315
8.2.2 創建、刪除、移動、復制 316
8.2.3 查看目錄包含的內容 317
8.3 使用NSPathUtilities.h管理路徑 318
8.4 使用NSProcessInfo獲取進程信息 320
8.5 使用NSFileHandle處理文件IO 321
8.6 使用NSURL讀取網絡資源 324
8.7 使用NSBundle處理項目相關資源 325
8.8 對象歸檔 326
8.8.1 使用NSKeyedArchiver歸檔 326
8.8.2 實現NSCoding協議 328
8.8.3 使用NSData完成自定義歸檔 331
8.8.4 使用歸檔實現深復制 333
8.9 本章小結 334
第9章 iOS應用開發入門 335
9.1 從iOS項目開始 336
9.1.1 iOS項目包含的文件 336
9.1.2 Interface Builder簡介 337
9.1.3 添加控件 339
9.1.4 修改控件屬性 340
9.1.5 UIView支持的屬性 342
9.1.6 UILabel支持的屬性 344
9.2 MVC 346
9.2.1 程序入口 346
9.2.2 應用程序代理 347
9.2.3 理解iOS的MVC 349
9.2.4 掌握UIViewController控制器 350
9.3 事件機制 352
9.3.1 程序獲取控件的兩種方式 352
9.3.2 事件處理的三種方式 358
9.4 代碼控制UI界面 364
9.4.1 不使用界面設計文件開發
UI界面 364
實例:無界面設計文件開發iOS應用 364
9.4.2 使用代碼創建UI界面 366
實例:動態添加、刪除標簽 367
9.4.3 自定義UI控件 369
實例:跟隨手指運動的小球 369
9.5 美化iOS應用 372
9.5.1 定制iOS應用圖標 372
9.5.2 定制iOS應用的啟動畫面 373
9.6 本章小結 375
第10章 iOS應用的界面編程 335
10.1 UI控件概述 377
10.1.1 活動、靜態和被動控件 377
10.1.2 UIControl基類介紹 377
10.2 按鈕(UIButton) 379
實例:豐富多彩的按鈕 381
10.3 文本框控件(UITextField) 383
實例:用戶登錄界面 385
10.3.1 完成輸入后關閉鍵盤 386
10.3.2 觸碰背景關閉鍵盤 387
10.4 多行文本控件(UITextView) 389
10.4.1 UIScrollView支持的屬性 390
10.4.2 使用委托對象處理UITextView事件 392
實例1:通過導航按鈕關閉虛擬鍵盤 392
實例2:通過自定義鍵盤附件關閉虛擬鍵盤 394
10.4.3 自定義選擇內容后的菜單 396
10.5 開關按鈕(UISwitch) 397
實例:使用開關控制“手電筒” 398
10.6 分段控件(UISegmentedControl) 399
實例1:通過分段控件控制背景顏色 400
實例2:動態增加、刪除分段 401
10.7 圖像控件(UIImageView) 402
實例1:圖片瀏覽器 404
實例2:“幻燈片”播放器 406
10.8 進度條 407
10.8.1 UIProgressView 407
實例:定制進度條 409
10.8.2 UIActivityIndicatorView 410
10.9 拖動條(UISlider) 412
實例:通過拖動滑塊改變圖片透明度 413
10.10 警告框(UIAlertView)與UIActionSheet 415
10.10.1 UIAlertView的基本用法 415
10.10.2 帶輸入框的UIAlertView 417
10.10.3 使用UIActionSheet 419
10.11 日期選擇器(UIDatePicker) 421
實例:倒計時器 423
10.12 選擇器(UIPickerView) 425
10.12.1 單列選擇器 426
10.12.2 多列選擇器 427
10.12.3 相互依賴的多列選擇器 429
10.12.4 自定義選擇器視圖 432
實例:“老虎機”游戲 432
10.13 iOS 8新增的UIVisualEffectView 435
10.14 微調器(UIStepper) 438
10.15 網頁控件(UIWebView) 440
實例:迷你瀏覽器 442
10.16 工具條(UIToolBar) 444
實例:自定義工具條控件 446
10.17 表格(UITableView)與表格控制器(UITableViewController) 448
10.17.1 簡單表格 450
10.17.2 處理單元格的選中 454
實例:編輯選中行 454
10.17.3 定制表格行 459
實例1:繼承UITableViewCell定制表格行 459
實例2:使用動態單元格原型定制表格行 462
10.17.4 編輯表格 464
10.17.5 多分區表格以及分區索引 470
10.17.6 直接使用UITableViewController 472
10.17.7 靜態單元格 474
10.17.8 使用UIRefreshController刷新表格 477
10.18 搜索條(UISearchBar) 479
10.18.1 使用搜索條 480
10.18.2 使用UISearchDisplayController 483
實例:下拉列表顯示搜索結果 483
10.19 導航條(UINavigationBar)與導航控制器(UINavigationController) 487
10.19.1 使用導航條 487
10.19.2 使用UINavigationController 489
實例:查看、編輯圖書信息 491
10.19.3 使用segue控制過渡 497
10.19.4 使用segue控制導航 501
10.20 網格(UICollectionView)與網格控制器(UICollectionViewController) 505
10.20.1 UICollectionView的功能與用法 508
10.20.2 使用UICollectionViewDelegate-FlowLayout定制布局 512
實例:單元格大小不同的網格 513
10.20.3 擴展UICollectionViewLayout定制布局 514
實例:環形布局的UICollectionView 515
10.20.4 多分區網格 518
實例:帶頁眉、頁腳的多分區網格 519
10.20.5 直接使用UICollectionViewController 523
10.21 標簽條(UITabBar)與標簽頁控制器(UITabBarController) 526
10.21.1 使用UITabBar 527
10.21.2 使用UITabBarController 528
10.21.3 在Storyboard中使用UITabBarController 531
10.22 頁控件(UIPageControl)與頁控制器(UIPageViewController) 533
10.22.1 UIPageControl與UIScrollView結合使用 533
10.22.2 使用UIPageViewController 537
10.23 iPad應用開發 541
10.23.1 使用iPad專用控件:UISplitViewController 542
10.23.2 使用UIPopoverController實現浮動窗口 549
10.23.3 開發同時兼容iPhone與iPad的應用 551
10.24 本章小結 555
第11章 管理iOS應用的運行 556
11.1 iOS設備尺寸和自動旋轉機制 557
11.1.1 配置應用支持的方向 557
11.1.2 指定視圖控制器支持的方向 559
11.2 iOS 8增強的自動布局功能 560
11.2.1 自動布局的添加方式 560
11.2.2 使用自動布局適應不同尺寸的屏幕 566
11.2.3 使用Size Class適應屏幕旋轉 570
11.3 iOS應用的生命周期 574
11.3.1 應用程序的狀態 575
11.3.2 應用程序啟動過程 576
11.3.3 程序入口:main函數 578
11.3.4 響應中斷 578
11.3.5 進入后臺 580
11.3.6 返回前臺運行 581
11.3.7 應用程序終止 582
11.3.8 Main Run Loop 582
11.4 本章小結 583
第12章 圖形、圖像與動畫 584
12.1 使用UIImage和CGImage處理位圖 585
12.1.1 顯示動畫 585
實例:蝴蝶飛舞 587
12.1.2 CGImage與CGImageRef 588
12.2 Quartz 2D繪圖 588
12.2.1 Quartz 2D繪圖基礎:CGContextRef 588
12.2.2 繪制幾何圖形 591
12.2.3 點線模式 593
12.2.4 繪制文本 597
12.2.5 設置陰影 601
12.2.6 使用路徑 602
實例:繪制任意多角星 606
12.2.7 繪制曲線 607
實例:使用曲線繪制多瓣花朵 608
12.2.8 在內存中繪圖 609
實例:繪圖板 612
12.2.9 繪制位圖 617
實例:擴展UIImage的功能 617
12.3 圖形變換 622
12.3.1 使用坐標變換 622
12.3.2 坐標變換與路徑結合使用 623
實例:雪花飄飄 624
12.3.3 使用矩陣變換 625
12.4 控制疊加模式 628
12.5 處理填充 634
12.5.1 漸變填充 634
12.5.2 模式填充 639
12.6 使用Core Image濾鏡 644
12.7 動畫 652
12.7.1 Core Animation動畫基礎 652
12.7.2 使用CALayer 653
12.7.3 使用CATransition控制過渡動畫 656
12.7.4 使用屬性動畫 660
12.7.5 控制移動路徑 665
實例:繞圈游動的小魚 665
12.8 本章小結 667
第13章 瘋狂連連看 668
13.1 游戲簡介 669
13.2 開發游戲界面 670
13.2.1 開發界面布局 670
13.2.2 開發游戲界面控件 671
13.2.3 處理方塊之間的連接線 676
13.3 游戲的狀態數據模型 677
13.3.1 定義數據模型 677
13.3.2 初始化游戲狀態數據 678
13.4 加載界面的圖片 682
13.5 實現游戲視圖控制器 684
13.6 實現游戲邏輯 686
13.6.1 定義FKGameService的接口代碼 686
13.6.2 實現FKGameService 687
13.6.3 獲取觸碰點的方塊 688
13.6.4 判斷兩個方塊是否可以相連 689
13.6.5 定義獲取通道的工具方法 691
13.6.6 沒有轉折點的橫向連接 692
13.6.7 沒有轉折點的縱向連接 693
13.6.8 有一個轉折點的連接 693
13.6.9 有兩個轉折點的連接 696
13.6.10 找出最短距離 702
13.7 本章小結 704
序: