一下是總結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 //通知所有事件。}
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiclRnblN0LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX90TUaJXOtllb1cVYpx2RiZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39TMzEjNxgTMxITNyEDM1EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)