《30天精通iphone手機編程》
第1天 mac os和iphone sdk簡介 1
1.1 iphone sdk 4和xcode的使用與安裝 2
1.2 xcode使用簡介 3
1.2.1 創建iphone os項目 4
1.2.2 項目程序模板簡介 5
1.2.3 項目開發界面 6
1.2.4 項目工具欄簡介 7
1.2.5 顯示開發代碼行數 9
1.2.6 以_prefix.pch為後綴的文件對象 9
1.2.7 main.m入口銜接程序文件 10
1.3 interface builder使用簡介 11
1.3.1 關於nib和xib文件 11
1.3.2 圖形開發環境概述 12
1.4 simulator使用簡介 15
1.4.1 在iphone sdk 4環境下運行sdk 2或sdk 3的應用程序 16
1.5 小結和練習 17
第2天 第壹個程序“hello world” 19
2.1 view-based application的初次應用 19
2.2 appdelegate class文件簡介 21
.2.2.1 uikit框架的作用 22
2.2.2 appdelegate.h 23
2.2.3 appdelegate.m 24
2.3 視圖控制器文件 26
2.3.1 viewcontroller.h 26
2.3.2 viewcontroller.m 27
2.3.3 對象屬性中的nonatomic和retain 28
2.4 viewcontroller.xib文件引導interface builder 29
2.4.1 設置視圖界面的背景顏色 30
2.4.2 添加label到視圖中 30
2.5 程序的運行和保存 33
2.6 添加iphone應用程序圖標 33
2.7 小結和練習 36
第3天 打開網站url連接 37
3.1 view-based application的網頁連接項目 37
3.1.1 構建按鈕方法打開url數據 38
3.1.2 文字格式的轉換nsstringstringwithformat 39
3.1.3 網站連接的內容nsurl 39
3.1.4 打開網站的連接uiapplication sharedapplication 40
3.1.5 foundation框架的作用 40
3.2 建立按鈕操作方法視圖控制器 42
3.3 使用interface builder構建按鈕控件 43
3.3.1 按鈕round rect button特性的文字輸入 45
3.3.2 按鈕round rect button的大小和位置設置 46
3.3.3 按鈕round rect button的連接設置 46
3.4 小結和練習 47
第4天 設置文件setting bundle 49
4.1 在view-based application中的自定義設置 50
4.1.1 把setting bundle加入程序 50
4.1.2 root.plist文件的內容添加 51
4.1.3 使用nsuserdefaults獲取自定義數據 53
4.2 獲取自定義設置數據視圖控制器 54
4.2.1 建立uilabel對象 54
4.2.2 定義uilabel對象的屬性值 55
4.3 使用interface builder構建標簽控件 57
4.3.1 標簽label大小和位置的設置 57
4.3.2 標簽label的文字顯示特性設置 58
4.3.3 標簽label與file’s owner的連接 60
4.3.4 虛擬iphone系統的simulator設置 61
4.4 小結和練習 62
第5天 文字的長度 65
5.1 view-based application的控件交互項目 65
5.1.1 控件屬性值中的變量 66
5.1.2 條件假定語句if和else 67
5.2 統計文字長度的視圖控制器 67
5.2.1 建立uitextfield、uilabel對象和ibaction 67
5.2.2 定義交互控件屬性值的按鈕操作方法 68
5.3 使用interface builder構建交互控件 70
5.3.1 添加交互控件和特性設置 70
5.3.2 交互控件的大小和位置設置 73
5.3.3 交互控件與file’s owner的連接 74
5.4 小結和練習 77
第6天 移動網站導航 79
6.1 view-based application的打開網站項目 79
6.1.1 向網站發送壹個指定內容要求nsurlrequest 80
6.1.2 字符串的格式轉換nsasciistringencoding 81
6.2 顯示網站內容的交互方法 81
6.2.1 建立uiwebview對象和ibaction方法 81
6.2.2 定義uiwebview對象屬性值的ibaction的操作方法 82
6.3 使用interface builder構建顯示網站內容 83
6.3.1 添加導航控件和特性設置 83
6.3.2 導航控件的大小和位置設置 86
6.3.3 導航控件的連接設置 87
6.4 小結和練習 89
第7天 長度單位換算器 91
7.1 view-based application的文本框交互項目 91
7.1.1 捕獲屏幕觸摸事件uiview(touch) 92
7.2 單位換算的交互方法 93
7.2.1 建立多個uitextfield對象和ibaction方法 93
7.2.2 定義交互uitextfield對象屬性值的操作方法 94
7.3 使用interface builder構建換算器控件 97
7.3.1 添加換算器控件和特性設置 97
7.3.2 換算器控件的大小和位置設置 101
7.3.3 換算器控件的連接設置 105
7.4 小結和練習 109
第8天 分歧解決器 111
8.1 view-based application的事件數值交互項目 111
8.1.1 條件語句switch與case 112
8.2 算法機率交互方法 113
8.2.1 建立uilabel和多個ibaction方法 113
8.2.2 定義交互label的屬性值的操作方法 114
8.3 在interface builder中構建分歧解決器控件 118
8.3.1 添加分歧解決器控件和特性設置 118
8.3.2 分歧解決器控件的大小和位置設置 122
8.3.3 分歧解決器控件的連接設置 125
8.4 小結和練習 129
第9天 密碼生成器 131
9.1 view-based application的開關交互項目 131
9.1.1 宏定義#define 132
9.1.2 隨機數random和srandom 132
9.1.3 邏輯對象bool 133
9.1.4 循環語句for loop 133
9.1.5 字符串中字符的位置nsrange 133
9.1.6 整數數據類型定義nsinteger 133
9.1.7 字符串的範圍nsstring stingwithrange 134
9.2 隨機數交互方法 134
9.2.1 建立uiswitch、uitextfield對象和ibaction方法 134
9.2.2 定義交互switch與textfield屬性值的操作方法 135
9.3 在interface builder中構建密碼生成器控件 139
9.3.1 添加密碼生成器控件和特性設置 139
9.3.2 密碼生成器控件的大小和位置設置 145
9.3.3 密碼生成器控件的連接設置 151
9.4 小結和練習 156
第10天 迷妳秒表 157
10.1 view-based application的時間變量交互項目 157
10.1.1 定時器nstimer 158
10.2 時間變量視圖控制器 159
10.2.1 建立nstimer、uilabel對象和ibaction方法 159
10.2.2 定義交互nstimer與uilabel屬性值的操作方法 160
10.3 在interface builder中構建秒計時控件 162
10.3.1 添加秒計時控件和特性設置 162
10.3.2 秒計時控件的大小和位置設置 166
10.3.3 秒計時控件的連接設置 168
10.4 小結和練習 171
第11天 點數器 173
11.1 view-based application的算術方法項目 173
11.1.1 條件語句if結合運算 174
11.2 算術的視圖控制器 175
11.2.1 建立nsinteger、uilabel對象和ibaction方法 175
11.2.2 定義nsinteger與uilabel屬性值的操作方法 176
11.3 在interface builder中構建點數控件 178
11.3.1 添加點數控件和特性設置 179
11.3.2 點數控件的大小和位置設置 182
11.3.3 點數控件的連接設置 185
11.4 小結和練習 188
第12天 考反應撲克遊戲 189
12.1 view-based application的提示框交互項目 190
12.1.1 提示框uialertview的使用 190
12.1.2 保存時間值nsdate 191
12.1.3 在遊戲中添加圖像文件 191
12.2 時間差視圖控制器 193
12.2.1 建立nsdata、uiimageview對象和ibaction方法 193
12.2.2 定義uialertview和遊戲控件屬性值的操作方法 194
12.3 在interface builder中構建撲克遊戲控件 198
12.3.1 撲克遊戲控件的添加 199
12.3.2 遊戲背景視圖的檢查器設置 200
12.3.3 遊戲撲克圖像的檢查器設置 202
12.3.4 遊戲透明按鈕的檢查器設置 203
12.4 小結和練習 205
第13天 頁面控制 207
13.1 view-based application的頁面控制項目 207
13.1.1 添加顯示在頁面中的圖像文件 208
13.1.2 視圖的實例方法addsubview和removefromsuperview 209
13.2 多頁面視圖控制器 210
13.2.1 建立uipagecontrol方法 210
13.2.2 定義changepage視圖操作方法 211
13.3 在interface builder中構建子視圖控件 213
13.3.1 視圖控件的添加 214
13.3.2 視圖控件的檢查器設置 216
13.4 小結和練習 224
第14天 圖片瀏覽器 225
14.1 view-based application的滾動視圖控制項目 225
14.1.1 常量定義const 226
14.1.2 數組數據類型定義nsarray 227
14.1.3 添加瀏覽器中的圖像文件 227
14.2 滾動視圖的視圖控制器 228
14.2.1 建立uiscrollview對象 228
14.2.2 滾動視圖的布局方法 229
14.3 在interface builder中構建滾動視圖控件 233
14.3.1 添加滾動視圖控件和特性設置 233
14.3.2 滾動視圖控件的大小和位置設置 235
14.3.3 滾動視圖控件的連接設置 237
14.4 小結和練習 239
第15天 小型表格 241
15.1 navigation-based application的初次應用 241
15.1.1 可修改式數組nsmutablearray 242
15.2 在interfacebuilder中為表格顯示分組 243
15.3 rootviewcontroller class文件 244
15.3.1 uitableview的分組數量設置 244
15.3.2 uitableview的分組標題內容設置 245
15.3.3 uitableview的行數設置 247
15.3.4 uitableview的每行內容設置 248
15.3.5 表格視圖的uibarbuttonitem添加標題和編輯按鈕 249
15.3.6 在表格視圖的導航欄按鈕中添加提示框 251
15.4 自定義表格應用程序 253
15.4.1 自定義rootviewcontroller.h文件 253
15.4.2 自定義rootviewcontroller.m文件 253
15.5 小結和練習 260
第16天 地址收藏器 261
16.1 navigation-based application的表格連接管理項目 261
16.1.1 添加uiviewcontroller類 262
16.1.2 uitableview的表格單元觸發頁面視圖 264
16.2 網址連接視圖控制器 265
16.2.1 自定義rootviewcontroller.h文件 265
16.2.2 自定義rootviewcontroller.m文件 265
16.2.3 自定義detailviewcontroller.h文件 270
16.2.4 自定義detailviewcontroller.m文件 271
16.3 在interface builder中構建連接網址視圖控件 272
16.3.1 添加網址視圖控件和特性設置 272
16.3.2 網址視圖控件的大小和位置設置 273
16.3.3 網址視圖控件的連接設置 274
16.4 小結和練習 275
第17天 掌上老虎機 277
17.1 view-based application的選擇器遊戲項目 277
17.1.1 添加選擇器中項目的圖像文件 278
17.1.2 uipickerview的組成 279
17.2 老虎機的視圖控制器 280
17.2.1 建立uipickerview、ui label、nsarray對象和ibaction方法 280
17.2.2 定義老虎機控件屬性值的操作方法 282
17.3 在interface builder中構建老虎機遊戲 287
17.3.1 添加老虎機遊戲的控件和特性設置 287
17.3.2 老虎機遊戲的控件大小和位置設置 291
17.3.3 老虎機遊戲的控件連接設置 293
17.4 小結和練習 296
第18天 音樂播放器 297
18.1 view-based application的聲音播放項目 297
18.1.1 添加播放器的背景圖像和聲音文件 298
18.1.2 添加支持播放聲音的框架 299
18.1.3 avfoundation框架的作用 300
18.2 音樂播放器的視圖控制器 301
18.2.1 建立avaudioplayer對象、播放和停止動態 301
18.2.2 定義播放器屬性值的操作方法 302
18.3 在interface builder中構建音樂播放器 303
18.3.1 添加音樂播放器的控件和特性設置 304
18.3.2 音樂播放器的控件大小和位置設置 308
18.3.3 音樂播放器的控件連接設置 310
18.4 小結和練習 312
第19天 便攜式電子琴 313
19.1 view-based application的音頻工具項目 313
19.1.1 屏幕橫向顯示程序的設置 314
19.1.2 添加電子琴的背景圖像和聲音文件 316
19.1.3 添加音頻工具框架 317
19.1.4 audio toolbox框架的作用 318
19.2 電子琴的交互方法 319
19.2.1 建立音頻文件播放方法和播放動態 319
19.2.2 定義琴鍵屬性值的操作方法 320
19.3 在interface builder中構建電子琴 325
19.3.1 電子琴視圖的背景色設置 325
19.3.2 橫向顯示interface builder 326
19.3.3 在interface builder中添加控件 326
19.3.4 電子琴背景圖的檢查器設置 328
19.3.5 電子琴鍵的檢查器設置 329
19.4 小結和練習 337
第20天 dj混音器 339
20.1 view-based application中設置混音器項目 339
20.1.1 添加混音器的背景圖像和聲音文件 340
20.1.2 添加支持混音器播放聲音的框架 341
20.2 混音器的交互方法 342
20.2.1 建立uislider、uiswitch、avaudioplayer對象和交互方法 342
20.2.2 定義uislider和uiswitch與聲音播放器的交互 344
20.3 在interface builder內構建交互控件 348
20.3.1 添加混音器的控件和特性設置 348
20.3.2 混音器的控件大小和位置設置 353
20.3.3 混音器的控件連接設置 358
20.4 小結和練習 363
第21天 音樂選播器 365
21.1 view-based application的音樂列表播放項目 366
21.1.1 添加音樂列表播放的背景圖像和聲音文件 366
21.1.2 添加支持音樂列表播放的框架 368
21.2 音樂列表播放的視圖控制器 368
21.2.1 建立uipicker view、uiprogress view與聲音播放器 368
21.2.2 定義音樂列表播放的對象和操作方法 371
21.3 在interface builder中構建音樂播放列表 375
21.3.1 添加音樂播放列表的控件和特性設置 376
21.3.2 音樂列表播放的控件大小和位置設置 380
21.3.3 音樂列表播放的控件連接設置 385
21.4 小結和練習 391
第22天 多媒體切換器 393
22.1 tab bar application的應用 394
22.1.1 刪除uiviewcontroller類文件 394
22.1.2 添加多媒體切換器的背景圖像和聲音文件 395
22.1.3 添加支持多媒體切換器的框架 396
22.1.4 mediaplayer框架的作用 397
22.1.5 添加tab頁面控制器類 398
22.2 多媒體切換器的交互方法 400
22.2.1 構建urlview控制器 400
22.2.2 構建audioview控制器 402
22.2.3 構建movieview控制器 405
22.3 在interface builder中構建tab視圖 407
22.3.1 連接tab頁面控制器類 407
22.3.2 添加url view頁面的控件和檢查器設置 411
22.3.3 添加audioview頁面的控件和檢查器設置 414
22.3.4 添加movieview頁面的控件和檢查器設置 417
22.4 小結和練習 418
第23天 移動的方塊 419
23.1 windows-based application的應用 419
23.1.1 添加uiviewcontroller類 420
23.1.2 添加支持移動的方塊的框架 422
23.1.3 quartzcore框架的作用 422
23.1.4 使用cgrect自定義uiwindow 423
23.1.5 使用catransaction自定義控件的動態 423
23.2 自定義appdelegate文件 425
23.3 實現圖像的交互方法 427
23.4 小結和練習 430
第24天 璀璨的煙花 431
24.1 utility application的初次應用 431
24.1.1 添加煙花圖像文件 432
24.1.2 添加支持關鍵幀動畫的框架 433
24.1.3 關鍵幀動畫 434
24.2 flipsideview簡介 435
24.2.1 flipsideviewcontroller.h 435
24.2.2 flipsideviewcontroller.m 436
24.3 在mainview中構建煙花動畫 437
24.4 在interface builder中構建flipsideview 440
24.5 小結和練習 443
第25天 無盡的雪花 445
25.1 utility application的隨機圖像動畫 445
25.1.1 添加雪花圖像文件 446
25.1.2 添加支持幾何圖形動畫的框架 447
25.1.3 幾何圖形的生成 448
25.2 雪花幾何圖形的生成 449
25.2.1 建立uiimageview對象 449
25.2.2 定義圖像的屬性值交互ontimer方法 450
25.3 在interface builder中構建雪花簡介副頁 453
25.4 小結和練習 455
第26天 跳躍的皮球 457
26.1 在utility application的跳躍皮球項目 457
26.1.1 添加皮球圖像文件 458
26.1.2 添加支持跳躍動畫的框架 459
26.2 跳躍動畫的主視圖控制器 460
26.2.1 建立uiimageview和cgpoint對象 460
26.2.2 定義圖像的屬性值交互ontimer和軌跡動畫方法 461
26.3 在interface builder中構建皮球圖像主頁 465
26.4 在interface builder中構建flipsideview 468
26.5 小結和練習 471
第27天 十字方向鍵 473
27.1 utility application的圖像移動按鈕項目 473
27.1.1 添加吃豆人的移動圖像和聲音文件 474
27.1.2 添加支持吃豆人動畫和聲音文件的框架 475
27.2 移動圖像操作的視圖控制器 476
27.2.1 建立uiimageview、按鈕方向操作和音頻播放方法 476
27.2.2 定義圖像屬性值和方向操作交互 478
27.3 在interface builder中構建吃豆人主頁 483
27.3.1 構建吃豆人圖像和背景圖像 483
27.3.2 構建吃豆人移動按鈕 488
27.4 在interface builder中構建吃豆人簡介副頁 495
27.5 小結和練習 498
第28天 觸屏移動 499
28.1 utility application的圖像觸屏移動項目 499
28.1.1 添加飛行物體的圖像和聲音文件 500
28.1.2 添加框架文件 501
28.1.3 捕獲屏幕觸摸點的位置坐標 502
28.2 觸屏移動操作的視圖控制器 503
28.2.1 建立uiimageview、cgpoint、觸屏移動操作和音頻播放方法 503
28.2.2 定義圖像屬性值和觸屏移動 操作交互 504
28.3 在interface builder中構建 mainview 507
28.3.1 構建ufo圖像 507
28.4 在interface builder中構建ufo 簡介副頁 511
28.5 小結和練習 513
第29天 跳躍動作 515
29.1 utility application的遊戲人物跳躍 動作項目 515
29.1.1 添加遊戲人物的圖像和動作 聲音文件 516
29.1.2 添加支持遊戲人物動畫 和聲音文件的框架 517
29.1.3 設置顯示橫屏遊戲 518
29.2 遊戲人物跳躍動作的視圖控制器 520
29.2.1 建立uiimageview跳躍按鈕 操作和音頻播放方法 520
29.2.2 定義圖像屬性值和跳躍操作 交互 522
29.3 在interface builder中構建跳躍動作 主頁 525
29.3.1 構建遊戲人物和背景圖像 526
29.3.2 構建遊戲人物跳躍按鈕 530
29.4 在interface builder中構建遊戲 簡介副頁 532
29.5 小結和練習 534
第30天 打磚塊遊戲 535
30.1 utility application的打磚塊遊戲 536
30.1.1 添加打磚塊的圖像和聲音 文件 536
30.1.2 添加框架文件 537
30.1.3 添加uiimageview控制器 538
30.1.4 自定義uiimageview視圖 檢查器 540
30.2 打磚塊的mainviewcontroller交互 方法 542
30.2.1 建立遊戲分數控件、操作交互 和音頻播放方法 542
30.2.2 定義遊戲的操作和屬性值 544
30.3 在interface builder內構建 boardview 560
30.3.1 添加nsobject 560
30.3.2 nsobject的身份設置 560
30.4 在interface builder中構建打磚塊 遊戲主頁 561
30.5 在interface builder中構建打磚塊 簡介副頁 574
30.6 小結和再會 576