第1天配套源碼02.第一個ios程序_第1頁
第1天配套源碼02.第一個ios程序_第2頁
第1天配套源碼02.第一個ios程序_第3頁
第1天配套源碼02.第一個ios程序_第4頁
第1天配套源碼02.第一個ios程序_第5頁
已閱讀5頁,還剩22頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第一個iOS程序iOS學院第一個iOS程序簡介初學iOS開發,研究的程序不要過于復雜,應該從最基本的開始大房子都是由小磚一塊一塊堆成的,而大型App是由無數個小程序段組成的實現一個簡單的“加法計算器”,作為第一個iOS程序分析可得,至少需要開發步驟:添加需要的控件,搭建UI界面:1個按鈕、3個文本標簽、2個文本輸入框監聽按鈕的點擊事件取得2個文本框值,將計算好的最終結果顯示到右邊的文本標簽上演示演示加法計算器*注意:iOS 8模擬器鍵盤不支持中文輸出,只能使用粘貼、復制。在iOS 8的模擬器下無法調出鍵盤時,使用command + K鍵調出鍵盤。如下圖所示, 如果勾選了“紅框”中的選項, 那么

2、就可以通過連接到”電腦”的鍵盤來在模擬器中輸入, 但是有時就會出現無法自動彈出鍵盤的問題, 此時就需要按 command + K 鍵來調出鍵盤新建一個項目1.新建項目2.運行項目3.向storyboard添加一些控件測試。4.搭建”加法計算器的界面”,解決文本框獲得焦點時調用鍵盤樣式的問題(Keyboard屬性)5.監聽按鈕點擊。(介紹UIView、UIViewController)轉到UIView的ppt介紹。掌握往storyboard中添加控件UIViewController和UIView的關系程序的運行過程IBAction、IBOutlet的作用如何監聽控件的事件(比如按鈕的點擊事件)父

3、控件和子控件的概念退出鍵盤作業制作一個QQ登錄界面要求:QQ文本框要有“請輸入QQ”的文字提示(用戶輸入文字時會自動消失)Placeholder屬性密碼文本框要有“請輸入密碼”的文字提示(用戶輸入文字時會自動消失)QQ文本框只能輸入數字。Keyboard屬性。密碼文本框的文字必須是暗文顯示(掩碼顯示) Secure屬性點擊登錄按鈕后輸出用戶輸入的QQ和密碼,并且退出鍵盤文本框右邊顯示“清除”按鈕。Clear Button 屬性,默認值:Never appearsStoryboard文件在iOS5之前,蘋果使用xib文件來描述UI界面在iOS5之后,蘋果采取了更加強大和先進的storyboard

4、文件來描述界面(Xcode5是基于iOS7的)左邊的箭頭表明:程序一啟動就會顯示箭頭所指的界面UILabel 文本標簽文本標簽的作用是顯示一串固定的文字UIButton 按鈕按鈕的作用是:監聽用戶的點擊事件,在用戶點擊后做出響應UITextField 文本輸入框文本輸入框可以彈出鍵盤,讓用戶輸入文本內容UIView屏幕上能看得見摸得著的東西就是UIView,比如屏幕上的按鈕、文字、圖片一般翻譯叫做:視圖控件組件UIButton、UILabel、UITextField都繼承自UIView每一個UIView都是一個容器,能容納其他UIView(比如右圖中的整個鍵盤是一個UIView,里面容納很多小

5、格子的數字UIView)父控件和子控件在“加法計算器”中,最后面那塊白色的全屏的東西也是一個UIView白色的大UIView中容納了很多小的UIView,視圖層次結構如下圖所示 在白色的大UIView中,容納了6個小UIView(1個UIButton、2個UITextField、3個UILabel)這種情況下,我們可以稱白色的大UIView為6個小UIView的父控件(父視圖),6個小UIView都是白色大UIView的子控件(子視圖)UIViewController手機上自帶的“設置”中有很多的界面,點擊對應的選項可以跳到下一個界面每一個新的界面都是一個新的UIView,在切換過程中,涉及到

6、了:UIView的創建和銷毀UIView跟用戶的交互(處理UIView內部每一行的點擊)UIViewController其實,每當顯示一個新界面時,首先會創建一個新的UIViewController對象,然后創建一個對應的全屏UIView,UIViewController負責管理這個UIViewUIViewController就是UIView的大管家,負責創建、顯示、銷毀UIView,負責監聽UIView內部的事件,負責處理UIView與用戶的交互UIViewController內部有個UIView屬性,就是它負責管理的UIView對象 :property(nonatomic,retain)

7、UIView *view;UIView與UIViewController的關系UIView只負責對數據的展示,采集用戶的輸入、監聽用戶的事件等。其他的操作比如:每個UIView的創建、銷毀、用戶觸發某個事件后的事件處理程序等這些都交給UIViewController來處理。UIViewController嚴格來講,下圖箭頭所指的應該是一個UIViewController對象,里面白色的界面僅僅是UIViewController內部的UIView屬性UIViewController箭頭所指UIViewController的真實類型是CZViewController加法計算器程序的運行流程綜合分析

8、,可以得出程序的簡單運行流程:讀取Main.storyboard文件創建箭頭所指的CZViewController對象根據storyboard文件中描述創建CZViewController的UIView對象將UIView對象顯示到用戶眼前如何監聽按鈕點擊現在已經知道:應該由CZViewController來監聽“計算”按鈕的點擊換句話說,CZViewController應該提供一個方法出來(或者說有這么一個功能),當用戶點擊“計算”按鈕時,就調用這個方法來通知CZViewController按鈕被人點了CZViewController就在這個方法中實現想做的任何事情,比如計算2個文本輸入框內值

9、的和補充問題IBAction和IBOutlet究竟有什么作用?還有其他拖線方式么?Storyboard文件中箭頭的含義?如何更換storyboard文件?如何讓文本框只能輸入數字?如何退出鍵盤?Company Identifier和Bundle Identifier的作用模擬器還有哪些功能?補充問題IBAction和IBOutlet究竟有什么作用?IBAction相當于void,但是能拖線。IBOutlet保證屬性可以拖線。還有其他拖線方式么?點擊控件右鍵連線按住control拖線(從控件到代碼、從代碼到控件)屬性與方法代碼寫好后,打開View Controller Scene,選擇View

10、Controller右鍵將對應的方法拖到控件上。Storyboard文件中箭頭的含義?程序的入口.新建一個ViewController后,設置Is Initial View Controller屬性來讓當前View Controller為默認啟動項。如何更換storyboard文件?項目 - General - Deployment Info - 改變Main.storyboard補充問題如何讓文本框只能輸入數字?調出數字鍵盤(Number Pad)如何退出鍵盤?開發人員自己寫代碼退出。(1.第一響應者 resignFirstResponder; 2. self.view endEdittin

11、g:YES)Company Identifier(公司的唯一標識)和Bundle Identifier(app的唯一標識)的作用Bundle Identifier對于中文都是-模擬器還有哪些功能?查看模擬器的菜單。window 菜單調整大小調試 設置位置硬件 - 設備 來切換模擬器、旋轉等回到主界面、退出某個程序、卸載某個程序IBAction和IBOutletIBAction從返回值角度上看,作用相當于void只有返回值聲明為IBAction的方法,才能跟storyboard中的控件進行連線IBOutlet只有聲明為IBOutlet的屬性,才能跟storyboard中的控件進行連線設置程序啟動時加載的storyboard這個設置表明:程序啟動時會加載Main.storyboard設置UITextField的鍵盤類型這個設置表明:UITextField彈出的是數字鍵盤退出鍵盤的兩種方式resignFirstResponder當叫出鍵盤的那個控件(第一響應者)調用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論