30天精通iPhone手機編程

30天精通iPhone手機編程

《30天精通iPhone手機編程》是2011年4月清華大學出版社出版的圖書,作者是陸穎。

基本信息

內容簡介

30天精通iPhone手機編程30天精通iPhone手機編程
《30天精通iPhone手機編程》通過在30天中製作基於iphone sdk的29個精選的應用程式案例,系統、全面地介紹了object-c程式語言、Xcode和interface builder開發工具,如各種iphone應用程式項目模板的開發流程/原理和控制項、實例、框架以及object-c編程的基本知識,所有這些包含在覆蓋面廣、緊密聯繫的每一個章節之中。各個章節都提供應用程式的詳細構建步驟,包括應用程式的輸出和代碼的分析。在每章結束前都提供一個舉一反三的練習,以幫助讀者加深理解所學的內容和評估學習的進展程度。

《30天精通iphone手機編程》分為三個部分,詳細地講解了iphone sdk中的每一個模板,從基礎知識到面向對象的技術,應有盡有。第一部分從第1天至第17天,深入介紹控制項的基本特性,使用view-based application項目模板開發簡單的應用程式,其中包括標籤、按鈕、文本框、網頁視圖、開關、提示框、頁面控制等控制項的互動運用,以及如何使用navigation-based application項目模板開發表格視圖應用程式;第二部分從第18天至第22天,介紹在應用程式中如何靈活播放聲音,以及如何使用tab bar application項目模板開發多種媒體切換播放,其中包括網頁、音樂和視頻媒體;第三部分從第23天至第30天,介紹iPhone OS的高級特性。使用windows-based application項目模板添加視圖動畫對象,並且使用utility application項目模板開發結合聲音播放和互動操作的動態套用程式。

《30天精通iphone手機編程》可作為沒有任何編程經驗的初學者學習iphone sdk的教材,在30天中由淺入深地學習每一個案例及所使用的控制項和代碼,使讀者通過實踐能逐步進入iphone sdk軟體開發行列。

目錄

《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

相關詞條

相關搜尋

熱門詞條

聯絡我們