第1章 歡迎來到iPhone的世界
1.1 關于本書
1.2 必要條件
1.3 必備知識
1.4 編寫iPhone應用程序有何不同
1.4.1 只有一個正在運行的應用程序
1.4.2 只有一個窗口
1.4.3 受限訪問
1.4.4 有限的響應時間
1.4.5 有限的屏幕大小
1.4.6 有限的系統資源
1.4.7 不支持垃圾收集
1.4.8 新功能
1.4.9 與眾不同的方法
1.5 本書內容
1.6 本次更新的內容
1.7 準備開始吧
第2章 創建基本項目
2.1 在Xcode中設置項目
2.2 Interface Builder簡介
2.2.1 nib文件的構成
2.2.2 在視圖中添加標簽
2.3 美化iPhone應用程序
2.4 小結
第3章 處理基本交互
3.1 MVC範型
3.2 創建項目
3.3 創建視圖控制器
3.3.1 輸出口
3.3.2 操作
3.3.3 將操作和輸出口添加到視圖控制器
3.3.4 將操作和輸出口添加到實現文件
3.4 使用應用程序委托
3.5 編輯MainWindow.xib
3.6 編輯Button_FunViewController.xib
3.6.1 在Interface Builder中創建視圖
3.6.2 連接所有元素
3.6.3 測試
3.7 小結
第4章 更豐富的用戶界面
4.1 滿是控件的屏幕
4.2 活動、靜態和被動控件
4.3 創建應用程序
4.3.1 導入圖像
4.3.2 實現圖像視圖和文本字段
4.3.3 添加圖像視圖
4.3.4 添加文本字段
4.3.5 設置第二個文本字段的屬性
4.3.6 連接輸出口
4.4 構建和運行
4.4.1 完成輸入後關閉鍵盤
4.4.2 通過觸摸背景關閉鍵盤
4.5 實現滑塊和標簽
4.5.1 確定輸出口
4.5.2 確定操作
4.5.3 添加輸出口和操作
4.5.4 添加滑塊和標簽
4.5.5 連接操作和輸出口
4.6 實現開關、按鈕和分段控件
4.6.1 確定輸出口
4.6.2 確定操作
4.6.3 添加開關、按鈕和分段控件
4.6.4 連接開關輸出口和操作
4.6.5 添加按鈕
4.7 實現操作表和警報
4.7.1 遵從操作表委托方法
4.7.2 顯示操作表
4.7.3 操作表委托和創建警報
4.8 美化按鈕
4.8.1 viewDidLoad方法
4.8.2 控件狀態
4.8.3 可拉伸圖像
4.9 成為出色的內存使用者
4.10 小結
第5章 自動旋轉和自動調整大小
5.1 使用自動調整屬性處理旋轉
5.1.1 指定旋轉支持
5.1.2 使用自動調整屬性設計界面
5.1.3 自動調整屬性
5.1.4 設置按鈕的自動調整屬性
5.2 在旋轉時重構視圖
5.2.1 聲明和連接輸出口
5.2.2 在旋轉時移動按鈕
5.3 切換視圖
5.3.1 確定輸出口
5.3.2 確定動作
5.3.3 聲明動作和輸出口
5.3.4 設計兩個視圖
5.3.5 實現交換和動作
5.4 小結
第6章 多視圖應用程序
6.1 View Switcher應用程序
6.2 多視圖應用程序的體系結構
6.3 構建View Switcher
6.3.1 創建視圖控制器和nib文件
6.3.2 修改應用程序委托
6.3.3 SwitchViewController.h
6.3.4 修改MainWindow.xib
6.3.5 編寫SwitchViewController.m
6.3.6 實現內容視圖
6.4 制作轉換動畫
6.5 小結
第7章 標簽欄與選取器
7.1 Pickers應用程序
7.2 委托和數據源
7.3 建立工具欄框架
7.3.1 創建文件
7.3.2 添加根視圖控制器
7.4 實現日期選取器
7.5 實現單個組件選取器
7.5.1 聲明輸出口和操作
7.5.2 構建視圖
7.5.3 將控制器實現為數據源和委托
7.6 實現多組件選取器
7.6.1 聲明輸出口和操作
7.6.2 構建視圖
7.6.3 實現控制器
7.7 實現獨立組件
7.8 使用自定義選取器創建簡單游戲
7.8.1 編寫控制器頭文件
7.8.2 構建視圖
7.8.3 添加圖像資源
7.8.4 實現控制器
7.8.5 spin方法
7.8.6 viewDidLoad方法
7.8.7 最後的細節
7.8.8 鏈接Audio Toolbox框架
7.9 小結
第8章 表視圖簡介
8.1 表視圖基礎
8.2 實現一個簡單的表
8.2.1 設計視圖
8.2.2 編寫控制器
8.3 添加一個圖像
8.4 附加配置
8.4.1 設置縮進級別
8.4.2 處理行的選擇
8.4.3 更改字體大小和行高
8.4.4 委托還能做什麼
8.5 定制表視圖單元
8.5.1 單元應用程序
8.5.2 向表視圖單元添加子視圖
8.5.3 使用UITableViewCell的自定義子類
8.6 分組分區和索引分區
8.6.1 構建視圖
8.6.2 導入數據
8.6.3 實現控制器
8.6.4 添加索引
8.7 實現搜索欄
8.7.1 重新考慮設計
8.7.2 深層可變副本
8.7.3 更新控制器頭文件
8.7.4 修改視圖
8.7.5 修改控制器實現
8.8 小結
第9章 導航控制器和表視圖
9.1 導航控制器
9.1.1 棧的性質
9.1.2 控制器棧
9.2 由6個部分組成的分層應用程序︰Nav
9.3 構建Nav應用程序的骨架
9.3.1 創建第一級視圖控制器
9.3.2 設置導航控制器
9.4 第一個子控制器︰展示按鈕視圖
9.5 第二個子控制器︰校驗表
9.6 第三個子控制器︰表行上的控件
9.7 第四個子控制器︰可移動的行
9.7.1 編輯模式
9.7.2 創建一個新的二級控制器
9.8 第五個子控制器︰可刪除的行
9.9 第六個子控制器︰可編輯的詳細窗格
9.9.1 創建數據模型對象
9.9.2 創建控制器
9.9.3 創建詳細視圖控制器
9.10 其他內容
9.11 小結
第10章 應用程序設置和用戶默認設置
10.1 設置束
10.2 AppSettings應用程序
10.3 創建項目
10.4 使用設置束
10.4.1 在項目中添加設置束
10.4.2 設置屬性列表
10.4.3 添加文本字段設置
10.4.4 添加安全文本字段設置
10.4.5 添加多值字段
10.4.6 添加撥動開關設置
10.4.7 添加滑塊設置
10.4.8 添加子設置視圖
10.5 讀取應用程序中的設置
10.6 更改應用程序中的默認設置
10.7 小結
第11章 基本數據持久性
11.1 應用程序的沙盒
11.1.1 獲取Documents目錄
11.1.2 獲取tmp目錄
11.2 文件保存策略
11.2.1 單個文件持久性
11.2.2 多個文件持久性
11.3 持久保存應用程序數據
11.4 持久性應用程序
11.4.1 創建持久性項目
11.4.2 設計持久性應用程序視圖
11.4.3 編輯持久性類
11.4.4 對模型對象進行歸檔
11.4.5 實現NSCopying
11.5 歸檔應用程序
11.5.1 實現FourLines類
11.5.2 實現PersistenceView-Controller類
11.6 使用iPhone的嵌入式SQLite3
11.7 使用Core Data
11.7.1 實體和托管對象
11.7.2 鍵/值編碼
11.7.3 在上下文中結合它們
11.7.4 創建新托管對象
11.7.5 檢索托管對象
11.7.6 設計數據模型
11.7.7 創建持久視圖和控制器
11.7.8 將持久視圖控制器設置為應用程序的根控制器
11.8 小結
第12章 使用Quartz和OpenGL繪圖
12.1 圖形世界的兩個視圖
12.2 本章的繪圖應用程序
12.3 Quart繪圖方法
12.3.1 Quartz 2D的圖形上下文
12.3.2 坐標系
12.3.3 指定顏色
12.3.4 在上下文中繪制圖像
12.3.5 繪制形狀︰多邊形、直線和曲線
12.3.6 Quartz 2D工具示例︰模式、梯度、虛線模式
12.4 構建QuartzFun應用程序
12.4.1 創建隨機顏色
12.4.2 定義應用程序常量
12.4.3 實現QuartzFunView框架
12.4.4 向視圖控制器中添加輸出口和操作
12.4.5 更新QuartzFunViewContro-ller.xib
12.4.6 繪制直線
12.4.7 繪制矩形和橢圓形
12.4.8 繪制圖像
12.4.9 優化QuartzFun應用程序
12.5 一些OpenGL ES基礎知識
12.5.1 構建GLFun應用程序
12.5.2 設計Nib、添加框架、運行應用程序
12.6 小結
第13章 輕擊、觸摸和手勢
13.1 多觸摸術語
13.2 響應者鏈
13.3 多觸摸體系結構
13.4 觸摸瀏覽器應用程序
13.5 Swipes應用程序
13.6 實現多個輕掃動作
13.7 檢測多次輕擊
13.8 檢測捏合操作
13.9 自己定義手勢
13.10 小結
第14章 使用Core Location定位功能
14.1 位置管理器
14.1.1 設置所需的精度
14.1.2 設置距離篩選器
14.1.3 啟動位置管理器
14.1.4 更明智地使用位置管理器
14.2 位置管理器委托
14.2.1 獲取位置更新
14.2.2 使用CLLocation獲取緯度和經度
14.2.3 錯誤通知
14.3 嘗試使用Core Location
14.3.1 更新位置管理器
14.3.2 確定移動距離
14.4 小結
第15章 加速計
15.1 加速計物理學
15.2 訪問加速計
15.2.1 UIAcceleration
15.2.2 實現accelerometer:didAccelerate:方法
15.3 搖動與擊碎
15.3.1 用于擊碎的代碼
15.3.2 加載模擬文件
15.3.3 完好如初——復原觸摸
15.4 滾彈珠程序
15.4.1 實現Ball View控制器
15.4.2 編寫Ball View
15.4.3 計算小球運動
15.5 小結
第16章 iPhone照相機和照片庫
16.1 使用圖像選取器和UIImagePicker-Controller
16.2 實現圖像選取器控制器委托
16.3 實際測試照相機和庫
16.3.1 設計界面
16.3.2 實現照相機視圖控制器
16.4 小結
第17章 應用程序本地化
17.1 本地化體系結構
17.2 使用字符串文件
17.3 現實中的iPhone︰本地化應用程序
17.3.1 查看當前區域設置
17.3.2 測試LocalizeMe
17.3.3 本地化nib文件
17.3.4 查看本地化的項目結構
17.3.5 本地化圖像
17.3.6 本地化應用程序圖標
17.3.7 生成和本地化字符串文件
17.4 小結
第18章 未來之路
18.1 別陷進單一的思路里
18.1.1 隻果公司的文檔
18.1.2 郵件列表
18.1.3 論壇
18.1.4 網站
18.1.5 博客
18.1.6 Dave和Jeff的博客及Twitter
18.1.7 參考圖書
18.1.8 如果仍未解決問題
18.2 再會