版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 TOC o 1-3 iOS開發(fā)概述 PAGEREF _Toc239068055 h 2UI基礎控件 PAGEREF _Toc239068056 h 21.UILabel標簽 PAGEREF _Toc239068057 h 22.UIImageView圖像視圖 PAGEREF _Toc239068058 h 23.UIButton按鈕 PAGEREF _Toc239068059 h 34.UITextField文本框控件 PAGEREF _Toc239068060 h 35.UISwitch開關控件 PAGEREF _Toc239068061 h 46.UISlider滑塊控件 PAGEREF
2、 _Toc239068062 h 47.UIStepper計數(shù)器控件 PAGEREF _Toc239068063 h 58.UISegmentControl選項卡控件 PAGEREF _Toc239068064 h 59.UIView PAGEREF _Toc239068065 h 5Foundation框架 PAGEREF _Toc239068066 h 61.NSString和NSMutableString PAGEREF _Toc239068067 h 72.NSNumber PAGEREF _Toc239068068 h 73.NSDate PAGEREF _Toc239068069
3、h 74.NSArray和NSMutableArray PAGEREF _Toc239068070 h 75.NSDictionary和NSMutableDictionary PAGEREF _Toc239068071 h 7MVC體系結構 PAGEREF _Toc239068072 h 8Model:數(shù)據(jù)模型 PAGEREF _Toc239068073 h 8View:視圖 PAGEREF _Toc239068074 h 8Controller:控制器 PAGEREF _Toc239068075 h 8代理協(xié)議消息傳遞機制 PAGEREF _Toc239068076 h 8NSTimer計時
4、器 PAGEREF _Toc239068077 h 8聲音和音效的播放 PAGEREF _Toc239068078 h 9聲音 PAGEREF _Toc239068079 h 9音效 PAGEREF _Toc239068080 h 9UIKIT基礎控件小結iOS開發(fā)概述cocos體系結構,一共有四層框架,要調用不同的功能,需要使用不同的框架。前期主要學習cocos touch層的UIKit框架iOS和android的對比iOS是基于UINX,用C語言開發(fā)的,直接與系統(tǒng)底層交互,性能高andorid是基于Linux,用Java語言開發(fā),基于虛擬機運行,性能差UI基礎控件1.UILabel標簽作用
5、:顯示文字屬性:text屬性:是label的文字alignment屬性:對齊方式lines屬性:如果為0,不限制行數(shù),但是Label需要有足夠大的空間顯示內容Action:無UIImageView圖像視圖作用:在一個區(qū)域內,顯示圖像。注意:UIImage是一個二進制的圖像數(shù)據(jù),而UIImageView是用來顯示圖像數(shù)據(jù)的區(qū)域屬性:image屬性:用于設置在圖像視圖中顯示的圖片要從bundle加載圖像,可以使用UIImage imageNamed:方法。UIImageView本身可以做序列幀動畫,要使用序列幀動畫,我們需要指定三個屬性:animationsImages:序列幀圖像數(shù)組animat
6、ionDuration:一組序列幀圖片播放完成需要的時間animationRepeatCount:序列幀動畫重復的次數(shù),默認為0,循環(huán)播放設置完UIImageView的動畫屬性之后,需要使用startAnimation方法啟動動畫,如果要停止動畫,可以使用stopAnimation方法。另外,可以使用isAnimating屬性,判斷當前是否正在播放動畫Action:無UIButton按鈕作用:用戶交互的主要控件,有六種類型,其中自定義類型使用最為普遍屬性:title屬性:是按鈕的文字titleColor屬性:是按鈕的顏色image屬性:是按鈕顯示的圖像提示:如果同時指定了image和title
7、屬性,當按鈕空間不夠時,image優(yōu)先顯示;另外,image屬性在按鈕中不會變形backgroundImage屬性:是按鈕的背景圖片,注意,按鈕的背景圖片會根據(jù)按鈕的實際大小拉伸,在使用背景圖片時,尤其需要注意按鈕的大小backgroundColor屬性:按鈕的背景顏色屬性,僅在自定義類型的按鈕有效使用技巧:通常在指定同一類型的按鈕操作時,我們習慣用tag區(qū)分按鈕,然后統(tǒng)一調用同一個方法注意:設置按鈕屬性的同時,需要指定屬性應用的狀態(tài),通常使用Normal狀態(tài),Highlight是按鈕長按下的狀態(tài)Action:TouchUpInsideUITextField文本框控件作用:供用戶輸入或編輯文本
8、屬性:text屬性:獲得或設置文本框中的文字使用文本框控件時需要注意幾項事情:在輸入不同類型的文本時,需要注意鍵盤的類型,譬如輸入QQ號要使用數(shù)字鍵盤。輸入身份證號,需要自定義數(shù)字鍵盤或者默認打開數(shù)字的全鍵盤使用自定義數(shù)字鍵盤時,如果在越獄的機器上,可能會出現(xiàn)格式顯示問題如果界面上有多個文本框供用戶輸入時,要注意回車鍵的設置,實現(xiàn)文本框由上至下的切換,切換到最后一個文本框,再按回車鍵時,調用對應的確認按鈕的方法需要注意關閉鍵盤,關閉鍵盤有兩種方法:self.view endEditing:YES;textField resignFirstResponder;撤銷自身第一響應者的身份要獲取鍵盤輸
9、入的焦點,可以設置textField的becomeFirstResponder屬性,讓文本框成為第一響應者即可。要監(jiān)聽文本框的回車事件,需要設置文本框的delegate,同時讓視圖控制器遵從協(xié)議以上四個控件主要應用在應用程序中。UIswitch開關控件作用:設置某一個屬性開或者關的狀態(tài)屬性:state屬性:on/off使用isOn可以判斷開關當前是否打開Action: valueChangedUISlider滑塊控件作用:允許用戶使用手指拖動滑塊,產(chǎn)生數(shù)值變化的控件屬性:minimumValue:滑塊的最小數(shù)值maximumValue:滑塊的最大數(shù)值value:滑塊的當前數(shù)值需要注意的時:滑塊
10、沒有步長,滑塊數(shù)值通常是連續(xù)變化的,這樣可以保證滑塊動畫的連續(xù)性,因此,我們在使用滑塊時,需要格外留意是否有重復刷新的情況,例如照片查看器示例程序Action: valueChangedUIStepper計數(shù)器控件作用:用戶點擊“+”數(shù)值增加,點擊“-”數(shù)值減少屬性:minimumValue:計數(shù)器的最小數(shù)值maximumValue:計數(shù)器的最大數(shù)值value:計數(shù)器的當前數(shù)值stepValue:滑塊數(shù)值變化的步長wraps:是否環(huán)繞,設置了環(huán)繞屬性之后,當數(shù)值到達最大值時會回復到最小值,產(chǎn)生環(huán)繞效果。如果沒有設置環(huán)繞屬性,當?shù)竭_最大值時,“+”會變灰禁止用戶點擊,當?shù)竭_最小值時,“-”會變灰
11、禁止用戶點擊Action: valueChangedUISegmentControl選項卡控件作用:用戶同一時間只能選擇一個選項,與開關不同,它可以設置多個選項供用戶選擇屬性:selectedSegmentIndex屬性:用戶當前選中的選項卡索引,第一個選項卡索引對應的數(shù)值是0Action: valueChanged以上四個控件主要應用在設置頁面。UIView作用:是一個容器,可以容納任何的控件或者視圖所有的控件,最終均繼承自UIView屬性:繼承類屬性:superView:每一個UIView最多只能有一個父視圖,注意:UIViewController的根視圖沒有父視圖。subViews:當前
12、視圖所包含的子視圖/控件位置大小類屬性frame:設置視圖的邊框bounds:設置視圖的邊界,用于指定視圖的大小,常用于視圖的子控件設置位置,因為bounds屬性的原點,永遠是(0,0)center:設置視圖的中心點位置,通常用于指定視圖的位置,在視圖動畫中比較常用注意:frame和center可以指定UIView的位置frame和bounds可以指定UIView的大小形變屬性transform:可以指定視圖的平移、旋轉和縮放屬性CGAffineTransformRotate、CGAffineTransformScale、CGAffineTransformTranslation三個函數(shù)用于基于
13、UIView當前的形變屬性繼續(xù)變形CGAffineTransformMakeRotate、CGAffineTransformMakeScale、CGAffineTransformMakeTranslation三個函數(shù)用于基于UIView初始的形變進行變形動畫:UIView封裝了三個塊代碼動畫:UIView animateWithDuration:animations: UIView animateWithDuration:animations:completion: UIView animateWithDuration: delay: options: animations: completi
14、on: Foundation框架凡是帶有Mutable字樣的類型,都是可變的,如果存在相對應的沒有Mutable字樣的類型,都是不可變的,一旦初始化之后,就不可以再修改。NSstring和NSMutableString字符串轉數(shù)字 integerValue字符串常用方法:NSString stringWithFormat:”格式字符串”, 參數(shù)如果要表示:0001之類的數(shù)字格式可以使用”%04d”之類的格式字符串NSNumber是數(shù)字的NS對象的表達形式,如果要把數(shù)字添加到數(shù)組或者字典中,必須要進行轉換,同時要使用數(shù)組中的數(shù)字,還需要轉換成對應的數(shù)字。要轉換數(shù)字可以使用OC提供的包裝方法:(i
15、nt)要把NSNumber轉換成字符串,需要使用stringValue方法NSDate是日期的數(shù)據(jù)類型常用類方法NSDate date取出當前的系統(tǒng)時間timeIntervalSinceDate方法可以計算兩個時間的差值,以秒為單位特別需要注意,不要把NSDate和NSData搞混,這對于初學者,是經(jīng)常犯的錯誤。NSArray和NSMutableArrayNSArray是不可變的,NSMutableArray是可變的,通常在使用時,可以用一個自定義方法,初始化一個NSMutableArray,而在方法之外,統(tǒng)一使用NSArray在NSArray中,可以插入任何類型的對象,使用方法是:addOb
16、ject(id)要取出NSArray中的對象,可以使用整數(shù)下標獲取,例如:arrayi需要注意的是:如果要將int、float、double、NSInteger、CGFloat、CGPoint、CGRect、CGSize這些類型的數(shù)據(jù)插入數(shù)組之前,都需要進行類型轉換如果從Bundle中讀取數(shù)組,可以使用arrayWithContentOfFile:方法NSDictionary和NSMutableDictionary字典和NSArray非常類似,不過字典是使用字符串鍵值進行維護的,它的可讀性更強在數(shù)據(jù)字典中,字符串的鍵值不能夠重復要向數(shù)據(jù)字典中添加對象,需要使用setValue:forKey:方
17、法要從數(shù)據(jù)字典中獲取對象,需要使用dict”keyName”;如果要從Bundle中讀取字典,可以使用dictionaryWithContentsOfFile:方法 MVC體系結構Model:數(shù)據(jù)模型負責數(shù)據(jù)的保存以及相關的處理方法,Model不知道它會被誰調用,也不知道什么時候會被調用View:視圖負責界面上元素的顯示,通常在很多iOS應用程序中,視圖只是StoryBoard或者xib文件,一般不會在視圖中寫太多的代碼Controller:控制器負責界面上數(shù)據(jù)的顯示,以及用戶與界面發(fā)生交互之后,通知數(shù)據(jù)模型,做相應的處理??刂破魇且晥D與數(shù)據(jù)模型之間的紐帶和橋梁。通常在大多數(shù)應用程序中,視圖控
18、制器中的代碼是最多的。在iOS開發(fā)中,每一個Controller都有切僅有一個跟視圖,如果使用Storyboard建立的應用程序,Xcode會自動設置一個view作為視圖控制器的跟視圖,也是第一個顯示在用戶面前的視圖。 代理協(xié)議消息傳遞機制代理協(xié)議機制在iOS開發(fā)中,是非常常用的一種消息傳遞機制,主要用于子視圖向父視圖傳遞數(shù)據(jù),代理協(xié)議是單向消息傳遞。要使用代理協(xié)議,需要以下幾個步驟:子視圖控制器中需要做如下操作:在子視圖控制器中定義協(xié)議,并且定義若干協(xié)議方法,注意:只有方法,而沒有方法的具體實現(xiàn)。協(xié)議的名稱通常是子視圖控制器的類名+Delegate在子視圖控制器中定義代理屬性,代理的屬性是weak子視圖控制器中,在需要時直接通過_delegate調用協(xié)議方法,就可以執(zhí)行父視圖控制器中的相應方法的實現(xiàn)父視圖控制器中需要做如下操作:遵從子視圖控制器頭文件中定義的協(xié)議在推出子視圖控制器前,設置自己是子視圖控制器的代理,通常在prepareSegue方法中實現(xiàn)實現(xiàn)子視圖控制器中的協(xié)議方法,等待子視圖控制器的調用 NSTimer計時器使用實例代碼如下:/ 第一個參數(shù):多長時間會觸發(fā)一次,以秒為單位/ 第二個參數(shù):如果看到函數(shù)的參數(shù)有target,一般情況下,都用self/ 第三個參
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年重車離合器項目可行性研究報告
- 鎂質磚項目可行性研究報告
- 2025年護具項目調研分析報告
- 山東其他日用品零售市場前景及投資研究報告
- 2025年塑料管材項目可行性研究報告
- 金車實木地板行業(yè)市場發(fā)展及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2025年中國自動門控制器行業(yè)發(fā)展前景預測與投資戰(zhàn)略規(guī)劃分析報告
- 2024-2025年中國航運金融行業(yè)市場調研分析及投資前景預測報告
- 2025年中國現(xiàn)代快餐市場供需格局及未來發(fā)展趨勢報告
- 2024-2030年中國智慧安檢行業(yè)發(fā)展?jié)摿︻A測及投資戰(zhàn)略規(guī)劃報告
- 2024年電工(高級技師)考前必刷必練題庫500題(含真題、必會題)
- 墊江縣中醫(yī)院2018年11月份臨床技能中心教學設備招標項目招標文件
- 2024年《浙江省政治學考必背內容》(修訂版)
- 2024-2025學年初中數(shù)學七年級下冊滬教版(五四學制)(2024)教學設計合集
- 房地產(chǎn)銷售主管崗位招聘筆試題及解答(某大型國企)2025年
- 廣東省惠州市(2024年-2025年小學四年級語文)統(tǒng)編版綜合練習(上學期)試卷及答案
- 廣東省廣州市天河區(qū)2024年六上數(shù)學期末聯(lián)考試題含解析
- 廣東省珠海市2023-2024學年高二上學期語文期中試卷(含答案)
- 山東省淄博市周村區(qū)(五四制)2023-2024學年七年級上學期期末考試英語試題(含答案無聽力原文及音頻)
- GB/T 44317-2024熱塑性塑料內襯油管
- 七年級道德與法治期末復習計劃范文兩篇
評論
0/150
提交評論