目  錄
          第1章  歡迎來到iOS世界  1
         1.1  關於本書  1
         1.2  必要條件  1
         1.2.1  開發者的選擇  3
         1.2.2  必備知識  4
         1.3  編寫iOS應用程序有何不同  5
         1.3.1  隻有一個應用程序正在運行  5
         1.3.2  隻有一個窗口  5
         1.3.3  訪問受限  5
         1.3.4  有限的響應時間  6
         1.3.5  有限的屏幕大小  6
         1.3.6  有限的係統資源  6
         1.3.7  不支持垃圾收集  7
         1.3.8  新功能  7
         1.3.9  與眾不同的方法  7
         1.4  本書內容  7
         1.5  本次更新的內容  9
         1.6  準備開始吧  9
         第2章  創建基本項目  10
         2.1  在Xcode中設置項目  10
         2.1.1  Xcode工作區窗口  14
         2.1.2  深入研究項目  21
         2.2  Interface Builder簡介  23
         2.2.1  nib文件的構成  24
         2.2.2  庫  25
         2.2.3  在視圖中添加標簽  26
         2.2.4  屬性修改  29
         2.3  美化iPhone應用  30
         2.4  小結  34
         第3章  處理基本交互  35
         3.1  MVC範型  35
         3.2  創建項目  36
         3.3  查看視圖控製器  37
         3.3.1  理解輸齣口和操作  38
         3.3.2  清理視圖控製器  41
         3.3.3  設計用戶界麵  41
         3.3.4  測試項目  51
         3.4  理解應用程序委托  51
         3.5  小結  55
         第4章  更豐富的用戶界麵  56
         4.1  滿是控件的屏幕  56
         4.2  活動、靜態和被動控件  58
         4.3  創建應用程序  59
         4.4  實現圖像視圖和文本字段  59
         4.4.1  添加圖像視圖  59
         4.4.2  調整圖像視圖  61
         4.4.3  設置視圖屬性  62
         4.4.4  添加文本字段  65
         4.4.5  創建和連接輸齣口  70
         4.5  關閉鍵盤  71
         4.5.1  完成輸入後關閉鍵盤  72
         4.5.2  通過觸摸背景關閉鍵盤  73
         4.5.3  添加滑塊和標簽  75
         4.5.4  連接操作和輸齣口  77
         4.5.5  實現操作方法  77
         4.6  實現開關、按鈕和分段控件  78
         4.6.1  添加兩個帶標簽的開關  79
         4.6.2  連接開關輸齣口和操作  80
         4.6.3  實現開關的操作方法  80
         4.6.4  添加按鈕  81
         4.6.5  為按鈕創建並關聯輸齣口和操作  82
         4.6.6  實現分段控件的操作方法  82
         4.7  實現操作錶和警報  82
         4.7.1  遵從操作錶委托方法  83
         4.7.2  顯示操作錶  83
         4.8  美化按鈕  86
         4.8.1  viewDidLoad方法  87
         4.8.2  控件狀態  87
         4.8.3  可拉伸圖像  88
         4.9  小結  88
         第5章  自動鏇轉和自動調整大小  89
         5.1  自動鏇轉機製  89
         5.1.1  點、像素和Retina顯示屏  90
         5.1.2  自動轉屏方法  91
         5.2  使用自動調整屬性處理鏇轉  91
         5.2.1  配置應用支持的方嚮  91
         5.2.2  指定鏇轉支持  92
         5.2.3  使用自動調整屬性設計界麵  93
         5.2.4  大小檢查器的自動調整屬性  94
         5.2.5  設置按鈕的自動調整屬性  96
         5.3  在鏇轉時重構視圖  97
         5.3.1  創建和連接輸齣口  98
         5.3.2  在鏇轉時移動按鈕  99
         5.4  切換視圖  100
         5.4.1  設計兩個視圖  101
         5.4.2  實現交換  102
         5.4.3  修改輸齣口集閤  104
         5.5  小結  104
         第6章  多視圖應用程序  106
         6.1  多視圖應用程序的常見類型  106
         6.2  多視圖應用程序的體係結構  109
         6.2.1  根控製器  110
         6.2.2  內容視圖剖析  111
         6.3  構建View Switcher  111
         6.3.1  創建視圖控製器和nib文件  112
         6.3.2  修改應用程序委托  114
         6.3.3  修改BIDSwitchView Controller.h  116
         6.3.4  添加視圖控製器  116
         6.3.5  構建包含工具欄的視圖  117
         6.3.6  編寫根視圖控製器  119
         6.3.7  實現內容視圖  123
         6.3.8  製作轉換動畫  126
         6.4  小結  128
         第7章  標簽欄與選取器  129
         7.1  Pickers應用程序  130
         7.2  委托和數據源  132
         7.3  建立標簽欄框架  132
         7.3.1  創建文件  133
         7.3.2  添加根視圖控製器  134
         7.3.3  創建TabBarController.xib  135
         7.3.4  連接輸齣口,然後運行  140
         7.4  實現日期選取器  141
         7.5  實現單組件選取器  144
         7.5.1  聲明輸齣口和操作  144
         7.5.2  構建視圖  145
         7.5.3  將控製器實現為數據源和委托  146
         7.6  實現多組件選取器  149
         7.6.1  聲明輸齣口和操作  150
         7.6.2  構建視圖  150
         7.6.3  實現控製器  150
         7.7  實現依賴組件  153
         7.8  使用自定義選取器創建簡單遊戲  160
         7.8.1  編寫控製器頭文件  160
         7.8.2  構建視圖  160
         7.8.3  添加圖像資源  161
         7.8.4  實現控製器  161
         7.8.5  最後的細節  166
         7.8.6  鏈接Audio Toolbox框架  170
         7.9  小結  171
         第8章  錶視圖簡介  172
         8.1  錶視圖基礎  172
         8.1.1  錶視圖和錶視圖單元  173
         8.1.2  分組錶和無格式錶  174
         8.2  實現一個簡單的錶  175
         8.2.1  設計視圖  175
         8.2.2  編寫控製器  176
         8.2.3  添加一個圖像  179
         8.2.4  錶視圖單元樣式  181
         8.2.5  設置縮進級彆  182
         8.2.6  處理行的選擇  183
         8.2.7  更改字體大小和行高  185
         8.3  定製錶視圖單元  186
         8.3.1  嚮錶視圖單元添加子視圖  186
         8.3.2  創建UITableViewCell子類  187
         8.3.3  從nib文件加載UITableViewCell  192
         8.4  分組分區和索引分區  197
         8.4.1  構建視圖  197
         8.4.2  導入數據  197
         8.4.3  實現控製器  198
         8.4.4  添加索引  201
         8.5  實現搜索欄  202
         8.5.1  重新考慮設計  203
         8.5.2  深層可變副本  203
         8.5.3  更新控製器頭文件  205
         8.5.4  修改視圖  206
         8.5.5  修改控製器實現  210
         8.6  小結  221
         第9章  導航控製器和錶視圖  222
         9.1  導航控製器  222
         9.1.1  棧的性質  222
         9.1.2  控製器棧  223
         9.2  由6個部分組成的分層應用程序:Nav  224
         9.2.1  子控製器  225
         9.2.2  Nav應用程序的骨架  228
         9.2.3  嚮項目中添加圖形  234
         9.2.4  第一個子控製器:展示按鈕視圖  235
         9.2.5  第二個子控製器:校驗錶  242
         9.2.6  第三個子控製器:錶行上的控件  246
         9.2.7  第四個子控製器:可移動的行  252
         9.2.8  第五個子控製器:可刪除的行  257
         9.2.9  第六個子控製器:可編輯的詳細窗格  262
         9.2.10  其他內容  280
         9.3  小結  282
         第10章  storyboard  284
         10.1  創建一個簡單的storyboard  285
         10.2  動態原型單元  287
         10.2.1  使用storyboard的動態錶內容  288
         10.2.2  編輯原型單元  289
         10.2.3  實現錶視圖數據源  290
         10.2.4  它會加載嗎  292
         10.3  靜態單元  293
         10.3.1  實現靜態單元  293
         10.3.2  實現錶視圖數據源  294
         10.4  大話segue  296
         10.4.1  創建segue導航  296
         10.4.2  設計storyboard  297
         10.4.3  第一個segue  299
         10.4.4  更為實用的任務列錶  299
         10.4.5  查看任務詳情  300
         10.4.6  設置更多segue  301
         10.4.7  從列錶中傳遞任務  301
         10.4.8  處理任務細節  303
         10.4.9  迴傳詳細信息  304
         10.4.10  讓列錶獲取詳細信息  305
         10.4.11  小結  306
         第11章  iPad開發注意事項  307
         11.1  分割視圖和浮動窗口  307
         11.1.1  創建SplitView項目  309
         11.1.2  在storyboard中定義結構  310
         11.1.3  代碼定義功能  311
         11.2  顯示總統信息  318
         11.3  創建浮動窗口  324
         11.4  小結  329
         第12章  應用程序設置和用戶默認設置  330
         12.1  設置束  330
         12.2  AppSettings應用程序  331
         12.2.1  創建項目  333
         12.2.2  使用設置束  334
         12.2.3  讀取應用程序中的設置  346
         12.2.4  注冊默認值  350
         12.2.5  更改應用程序中的默認設置  351
         12.2.6  實現逼真效果  354
         12.3  小結  357
         第13章  保存數據  358
         13.1  應用程序的沙盒  358
         13.1.1  獲取Documents目錄  360
         13.1.2  獲取tmp目錄  360
         13.2  文件保存策略  361
         13.2.1  單個文件持久性  361
         13.2.2  多個文件持久性  361
         13.3  屬性列錶  361
         13.3.1  屬性列錶序列化  362
         13.3.2  持久性應用程序的第一個版本  363
         13.4  對模型對象進行歸檔  368
         13.4.1  符閤NSCoding  368
         13.4.2  實現NSCopying  369
         13.4.3  對數據對象進行歸檔和取消歸檔  370
         13.4.4  歸檔應用程序  371
         13.5  使用iOS的嵌入式SQLite3  374
         13.5.1  創建或打開數據庫  375
         13.5.2  綁定變量  376
         13.5.3  SQLite3應用程序  377
         13.6  使用Core Data  383
         13.6.1  實體和托管對象  385
         13.6.2  Core Data應用程序  388
         13.7  小結  398
         第14章  iCloud之旅  399
         14.1  使用UIDocument管理文檔存儲  399
         14.1.1  構建TinyPix  400
         14.1.2  創建BIDTinyPixDocument  401
         14.1.3  主代碼  404
         14.1.4  初始化storyboard  410
         14.1.5  創建BIDTinyPixView  412
         14.1.6  storyboard設計  416
         14.2  添加iCloud支持  419
         14.2.1  創建provisioning profile  420
         14.2.2  啓用iCloud授權  420
         14.2.3  如何查詢  421
         14.2.4  保存在哪裏  423
         14.2.5  在iCloud上存儲首選項  423
         14.3  小結  424
         第15章  Grand Central Dispatch、後颱處理及其應用  426
         15.1  Grand Central Dispatch  426
         15.2  SlowWorker簡介  427
         15.3  綫程基礎知識  430
         15.4  工作單元  430
         15.5  GCD:低級隊列  431
         15.5.1  傻瓜式操作  431
         15.5.2  改進SlowWorker  432
         15.6  後颱處理  438
         15.6.1  應用程序生命周期  439
         15.6.2  狀態更改通知  439
         15.6.3  創建State Lab  441
         15.6.4  執行狀態  442
         15.6.5  利用執行狀態更改  444
         15.6.6  處理不活動狀態  444
         15.6.7  處理後颱狀態  449
         15.7  小結  457
         第16章  使用Quartz和OpenGL繪圖  458
         16.1  圖形世界的兩個視圖  458
         16.2  Quart 2D繪圖方法  459
         16.2.1  Quartz 2D的圖形上下文  459
         16.2.2  坐標係  460
         16.2.3  指定顔色  461
         16.2.4  在上下文中繪製圖像  463
         16.2.5  繪製形狀:多邊形、直綫和麯綫  463
         16.2.6  Quartz 2D工具采樣器:模式、梯度、虛綫模式  464
         16.3  QuartzFun應用程序  465
         16.3.1  構建QuartzFun應用程序  465
         16.3.2  添加Quartz Drawing代碼  474
         16.3.3  優化QuartzFun應用程序  478
         16.4  GLFun應用程序  481
         16.4.1  構建GLFun應用程序  482
         16.4.2  創建BIDGLFunView  482
         16.4.3  更新BIDViewController  489
         16.4.4  更新nib  490
         16.4.5  完成GLFun  490
         16.5  小結  490
         第17章  輕擊、觸摸和手勢  491
         17.1  多點觸控術語  491
         17.2  響應者鏈  492
         17.2.1  響應事件  492
         17.2.2  轉發事件:保持響應者鏈的活動狀態  493
         17.3  多點觸控體係結構  494
         17.4  4個手勢通知方法  494
         17.5  檢測觸摸  495
         17.6  檢測輕掃  498
         17.6.1  使用自動手勢識彆  502
         17.6.2  實現多個輕掃動作  503
         17.7  檢測多次輕擊  505
         17.8  檢測捏閤操作  509
         17.9  創建和使用自定義手勢  512
         17.9.1  CheckPlease應用程序  512
         17.9.2  CheckPlease觸摸方法  514
         17.10  小結  516
         第18章  Core Location定位功能  517
         18.1  位置管理器  517
         18.1.1  設置所需的精度  518
         18.1.2  設置距離篩選器  518
         18.1.3  啓動位置管理器  519
         18.1.4  更明智地使用位置管理器  519
         18.2  位置管理器委托  519
         18.2.1  獲取位置更新  519
         18.2.2  使用CLLocation獲取緯度和經度  519
         18.2.3  錯誤通知  521
         18.3  嘗試使用Core Location  522
         18.3.1  更新位置管理器  525
         18.3.2  確定移動距離  526
         18.4  小結  527
         第19章  陀螺儀和加速計  528
         19.1  加速計物理學  528
         19.2  不要忘記鏇轉  529
         19.3  Core Motion和動作管理器  529
         19.3.1  基於事件的動作  530
         19.3.2  主動動作訪問  535
         19.3.3  加速計結果  537
         19.4  檢測搖動  537
         19.4.1  Baked-In搖動  538
         19.4.2  搖動與擊碎  539
         19.5  將加速計用做方嚮控製器  544
         19.5.1  滾彈珠程序  545
         19.5.2  編寫Ball View  547
         19.5.3  計算小球運動  549
         19.6  小結  552
         第20章  iPhone照相機和照片庫  553
         20.1  使用圖像選取器和UIImagePickerController  553
         20.2  實現圖像選取器控製器委托  555
         20.3  實際測試照相機和庫  556
         20.3.1  設計界麵  557
         20.3.2  實現照相機視圖控製器  558
         20.4  小結  562
         第21章  應用程序本地化  563
         21.1  本地化體係結構  563
         21.2  字符串文件  564
         21.2.1  字符串文件裏麵是什麼  565
         21.2.2  本地化的字符串宏  565
         21.3  現實中的iOS:本地化應用程序  566
         21.3.1  創建LocalizeMe  567
         21.3.2  測試LocalizeMe  569
         21.3.3  本地化nib文件  570
         21.3.4  本地化圖像  573
         21.3.5  生成和本地化字符串文件  575
         21.3.6  本地化應用程序顯示名稱  577
         21.4  小結  578
         第22章  未來之路  579
         22.1  蘋果公司的文檔  579
         22.2  郵件列錶  579
         22.3  論壇  580
         22.4  網站  580
         22.5  博客  581
         22.6  會議  582
         22.7  作者  582
         22.8  再會  583
      · · · · · ·     (
收起)