常用控制項的用法筆記

2022-08-31 13:21:09 字數 4069 閱讀 3973

uiview

所有ui控制項都繼承於這個uiview,它所擁有的屬性必是所有控制項都擁有,這些屬性都是控制項最簡單最一般的屬性。

oc不允許直接修改物件的結構體屬性的成員,但可以修改結構體的屬性,此時只能先宣告另外乙個結構體修改結構體裡面的值後再對物件的結構體屬性重新設值。

事件操作,這裡則介紹如何去以**的形式給乙個控制項繫結和解綁事件。

事件名];

事件名];

這裡如果涉及到多個事件的話,可以用邏輯or 「||」合併在一起。

對於大多數事件的引數,第乙個就是觸發該事件的控制項,型別是id,在用**繫結事件或者通過storyboard連線的方式繫結事件後,可以把id這個型別換成控制項本身的型別,這樣在方法內部萬一要用回這個控制項時就免得進行強制轉換了。

在個事件部分最後搭上乙個常用的事件,單擊事件 uicontroleventtouchupinside。

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;

nslinebreakbyclipping, //剪下與文字寬度相同的內容長度,後半部分被刪除。

nslinebreakbytruncatinghead, //前面部分文字以……方式省略,顯示尾部文字內容。

nslinebreakbytruncatingtail, //結尾部分的內容以……方式省略,顯示頭的文字內容。  

//中間的內容以方式省略,顯示頭尾的文字內容。 

uiimageview

這個是用於顯示的控制項,通過設定image屬性來顯示那幅,在oc中則是uiimage型別,這個型別在uibutton部分也出現過,用於設定按鈕的和按鈕的背景圖,但是要獲取這個,這裡有三種方式:

否則如果單純拖拽如xcode裡面,執行的時候是看不了的。

常用屬性

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//內容改變時觸發

C CheckedListBox控制項的用法

1.新增項 checkedlistbox1.items.add 藍色 checkedlistbox1.items.add 紅色 checkedlistbox1.items.add 黃色 2.判斷第i項是否選中,選中為true,否則為false if checkedlistbox1.getitemch...

Literal控制項的用法

1 literal的一般用法,與label對比 msdn上的解釋 使用 system.web.ui.webcontrols.literal 控制項在網頁上保留顯示文字的位置。literal 控制項與 label 控制項類似,但 literal 控制項不允許對所顯示的文字應用樣式。可以通過設定 tex...

CheckedListBox控制項的用法

1.新增項 checkedlistbox1.items.add 藍色 checkedlistbox1.items.add 紅色 checkedlistbox1.items.add 黃色 新增display和value專案 public class checkedlistboxitem public ...