UIView網絡
全部UI控件都繼承於這個UIView,它所擁有的屬性必是全部控件都擁有,這些屬性都是控件最簡單最通常的屬性。app
OC不容許直接修改對象的結構體屬性的成員,但能夠修改結構體的屬性,此時只能先聲明另一個結構體修改結構體裏面的值後再對對象的結構體屬性從新設值。less
事件操做,這裏則介紹如何去以代碼的形式給一個控件綁定和解綁事件。ide
事件名];學習
事件名];url
這裏若是涉及到多個事件的話,能夠用邏輯OR 「||」合併在一塊兒。spa
對於大多數事件的參數,第一個就是觸發該事件的控件,類型是id,在用代碼綁定事件或者經過storyboard連線的方式綁定事件後,能夠把id這個類型換成控件自己的類型,這樣在方法內部萬一要用回這個控件時就省得進行強制轉換了。code
在個事件部分最後搭上一個經常使用的事件,單擊事件 UIControlEventTouchUpInside。orm
UIButton對象
按樣式去建立按鈕,
UIButton *btn= [UIButton buttonWithType:UIButtonTypeRoundedRect];
樣式有如下幾種
經常使用的屬性:
以上這些屬性的設值方法以下
[btn setTitle:@」Button1」 forState:…..];
[btn setImage:[UIImage imageName:@」圖片的文件名」] forState:…..];
[btn setTitleColor:[UIColor redColor] forState:…];
[btn setShadowColor:[UIColor redColor] forState:…..];
圖片文件名」] forState];
設這類屬性都是帶了forState,表明了設的這個屬性只在某個狀態下才會生效,而按鈕的狀態有下面四個:UIControlstateNormal,UIControlStateHighlighted,UIControlStateDisabled,UIControlSeleted。
設置按鈕的背景色則不須要連帶按鈕的顏色,只按照本來的屬性設置的就能夠了:btn.backgroundColor=[UIColor clearColor];
UILabel
Label是一個很簡單很簡單的控件了,這裏就列舉一下它的幾個屬性
NSTextAlignmentLeft,
NSTextAlignmentCenter,
NSTextAlignmentRight,
NSTextAlignmentJustified,
;在iOS5和更早的版本是UITextAligenment,它的值分別是
UITextAlignmentLeft,
UITextAlignmentCenter,
UITextAlignmentRight;
NSLineBreakByWordWrapping, // 以單詞爲顯示單位顯示,後面部分省略不顯示
NSLineBreakByCharWrapping, // 以字符爲顯示單位顯示,後面部分省略不顯示
NSLineBreakByClipping, //剪切與文本寬度相同的內容長度,後半部分被刪除。
NSLineBreakByTruncatingHead, //前面部分文字以……方式省略,顯示尾部文字內容。
NSLineBreakByTruncatingTail, //結尾部分的內容以……方式省略,顯示頭的文字內容。
//中間的內容以方式省略,顯示頭尾的文字內容。
UIImageView
這個是用於圖片顯示的控件,經過設置image屬性來顯示那幅圖片,在OC中圖片則是UIImage類型,這個類型在UIButton部分也出現過,用於設置按鈕的圖片和按鈕的背景圖,可是要獲取這個圖片,這裏有三種方式:
首先是要往項目裏面添加資源:在項目裏面的」項目名-Info.plist」文件右鍵」AddFiles…」將圖片資源加入項目中。而後經過下面的代碼才能正常獲取到圖片
1.jpg」];
不然若是單純拖拽如XCode裏面,運行的時候是看不了圖片的。
NSURL*url=[NSURLWrithString:@」http://www.baidu.com/img/bdlogo.png」];
UIImage *img=[[UIImage alloc]iniWithData:[NSData dataWithContentsOfURL:url]];
NSString *path=[NSStringstringWithFormat:@」%@/Documents/%@.jpg」,NSHomeDirectory,@」test」];
UIImage *img=[[UIImage alloc]initWithContentsOfFile:path];
經常使用屬性
contentMode:圖片的顯示方式,它是一個枚舉類型,
UIViewContentModeScaleToFill,
UIViewContentModeScaleAspectFit,
UIViewContentModeScaleAspectFill,
UIViewContentModeRedraw,
UIViewContentModeCenter,
UIViewContentModeTop,
UIViewContentModeBottom,
UIViewContentModeLeft,
UIViewContentModeRight,
UIViewContentModeTopLeft,
UIViewContentModeTopRight,
UIViewContentModeBottomLeft,
UIViewContentModeBottomRight,
在以上枚舉沒帶Scale的枚舉值,都有一個共同點就是當圖片尺寸超出控件的大小時只會顯示圖片的一部分,超出的部分則不會顯示。而有三個枚舉也要特別說一下
UIViewContentModeScaleToFill圖片會變形(圖片的寬高比變了),圖片所有會顯示在控件中;
UIViewContentModeScaleAspectFit:圖片的比例不變,儘量地填充整個控件,以最短一邊去填充控件,沒填充的部分會有補白;
UIViewContentModeScaleAspectFill:圖片的比例不變,圖片會以最長邊去填充控件,會有一部分顯示不出來;
UITextField
這是文本框,相對來講也是一個簡單的控件,比UILabel稍複雜一點。
UIReturnKeyDefault,
UIReturnKeyGo,
UIReturnKeyGoogle,
UIReturnKeyJoin,
UIReturnKeyNext,
UIReturnKeyRoute,
UIReturnKeySearch,
UIReturnKeySend,
UIReturnKeyYahoo,
UIReturnKeyDone,
UIReturnKeyEmergencyCall,
UIKeyboardTypeDefault,
UIKeyboardTypeASCIICapable,
UIKeyboardTypeNumbersAndPunctuation,
UIKeyboardTypeURL,
UIKeyboardTypeNumberPad,
UIKeyboardTypePhonePad,
UIKeyboardTypeNamePhonePad,
UIKeyboardTypeEmailAddress,
UIKeyboardTypeDecimalPad,
UIKeyboardTypeTwitter,
UIKeyboardTypeWebSearch,
;
就是圖中紅框的地方,這個枚舉有如下這些值
UITextFieldViewModeNever,
UITextFieldViewModeWhileEditing,
UITextFieldViewModeUnlessEditing,
UITextFieldViewModeAlways
方法
若是文本框在編輯狀態,軟鍵盤則會彈出來,若是要收起軟鍵盤,則能夠調用下面這個方法
[txtBox resignFirstResponder];
事件
對於文本框,編輯前或編輯後均可以觸發不一樣的事件進行操做,也能夠在值發生變化時觸發事件,下面則列舉出來
TextDidBeginEditing;//開始編輯時觸發
TextDidEndEditing;//結束編輯時觸發
TextDidChange//內容改變時觸發