天天看點

UIButton 解析

               一下是總結UIButton的基本用法

UIButton在視圖建立過程中用處很廣,下面先建立一個UIButton,并給UIButton一個按鈕類型

UIButton *button1  = [UIButton buttonWithType:UIButtonTypeRoundedRect];  

//button的按鈕類型主要有一下六種:{

UIButtonTypeCustom = 0, //自定義類型

UIButtonTypeRoundedRect,//圓角矩形

UIButtonTypeDetailDisclosure, //箭頭類型,用于具體說明

UIButtonTypeInfoLight,//亮色感歎号

UIButtonTypeInfoDark,//暗色感歎号

UIButtonTypeContactAdd,//加号按鈕 }

button1.frame  = CGRectMake(50,50,50,50);  //給button在View上定義一個位置;

button1.backgroundcolor = [UIColor redColor]; //添加背景顔色;

[button1 setTitle:@"确認"forState:UIControlStateNormal];  //設定标題;

[button1 setImage:[UIImage imageNamed:@"1.jpg"]forState:UIControlStateNormal]; //添加圖檔,定義顯示狀态;

forState表示在何種狀态下顯示定義的button的文字和圖檔:{

UIControlStateNormal = 0, //正常狀态下顯示;

UIControlStateDisabled = 1<<1, //禁用狀态下顯示;

UIControlStateHighlighted = 1<<0, // 高亮狀态下顯示;

UIControlStateSelected = 1<<2, // 選中狀态下顯示;

UIControlStateApplication = 0x00FF0000, //應用程式标志狀态下顯示;

UIControlStateReserved = 0xFF000000,  //内部架構預留(不用);};

為button添加響應事件:

{

[button1 addTarget:self action(SEL) forControlEvents:UIControlEventTouchUpInside];//self本身調用action對應的方法, forControlEvents:UIControlEventTouchUpInside  控件事件處理的消息;

}

button記憶體釋放問題:(button有自己的四種初始化方法,也可以用父類的初始化方法,選用的初始化方法不同,對記憶體空間處理方法也不同)

[UIButton buttonWithType:UIButtonTypeRoundedRect]; //這種屬于button的初始化類方法(不需要release,否則會crash);

[UIButton alloc]init]; //這種屬于button的執行個體初始化方法(需要手動release);

UIButton的事件:{

UIControlEventTouchDown  //單點觸摸按下事件:使用者點觸螢幕,或者又有新手指落下的時候;

UIControlEventTouchDownRepeat   //  多點觸摸按下事件,點觸計數大于1:使用者按下第二、三、或第四根手指的時候;

UIControlEventTouchDragInside //當一次觸摸在控件視窗内拖動時。

UIControlEventTouchDragOutside //當一次觸摸在控件視窗之外拖動時。

UIControlEventTouchDragEnter //當一次觸摸從控件視窗之外拖動到内部時。

UIControlEventTouchDragExit //當一次觸摸從控件視窗内部拖動到外部時。

UIControlEventTouchUpInside //所有在控件之内觸摸擡起事件。

UIControlEventTouchUpOutside //所有在控件之外觸摸擡起事件(點觸必須開始與控件内部才會發送通知)。

UIControlEventTouchCancel //所有觸摸取消事件,即一次觸摸因為放上了太多手指而被取消,或者被上鎖或者電話呼叫打斷。

UIControlEventTouchChanged //當控件的值發生改變時,發送通知。用于滑塊、分段控件、以及其他取值的控件。你可以配置滑塊控件何時發送通知,在滑塊被放下時發送,或者在被拖動時發送。

UIControlEventEditingDidBegin // 當文本控件中開始編輯時發送通知。

UIControlEventEditingChanged //當文本控件中的文本被改變時發送通知。

UIControlEventEditingDidEnd //當文本控件中編輯結束時發送通知。

UIControlEventEditingDidOnExit //當文本控件内通過按下Enter鍵(或等價行為)結束編輯時,發送通知。

UIControlEventAllTouchEvents // 通知所有觸摸事件。

UIControlEventAllEditingEvents //通知所有關于文本編輯的事件。

UIControlEventAllEvents //通知所有事件。}

UIButton 解析