第一、uibutton的定義
uibutton *button=[[uibutton buttonwithtype:(uibuttontype);
能夠定義的button類型有以下6種,
typedef enum {
uibuttontypecustom = 0, 自定義風格
uibuttontyperoundedrect, 圓角矩形
uibuttontypedetaildisclosure, 藍色小箭頭按鈕,主要做詳細說明用
uibuttontypeinfolight, 亮色感歎号
uibuttontypeinfodark, 暗色感歎号
uibuttontypecontactadd, 十字加号按鈕
} uibuttontype;
第二、設定frame
button1.frame = cgrectmake(20, 20, 280, 40);
[button setframe:cgrectmake(20,20,50,50)];
第三、button背景色
button1.backgroundcolor = [uicolor clearcolor];
[button setbackgroundcolor:[uicolor bluecolor]];
第四、state狀态
forstate: 這個參數的作用是定義按鈕的文字或圖檔在何種狀态下才會顯現
enum {
uicontrolstatenormal = 0, 正常狀态顯現
uicontrolstatehighlighted = 1 << 0, 高亮狀态顯現
uicontrolstatedisabled = 1 << 1, 禁用的狀态才會顯現
uicontrolstateselected = 1 << 2, 選中狀态
uicontrolstateapplication = 0x00ff0000, 當應用程式标志時
uicontrolstatereserved = 0xff000000 為内部架構預留,可以不管他
};
@property(nonatomic,getter=isenabled)bool enabled;
// default is yes. if no, ignores touch events and subclasses may draw differently
@property(nonatomic,getter=isselected)bool selected;
// default is no may be used by some subclasses or by application
@property(nonatomic,getter=ishighlighted)bool highlighted;
第五 、設定button填充圖檔和背景圖檔
[buttonsetimage:[uiimageimagenamed:@"checkmarkcontrollericon"]forstate:uicontrolstatenormal];
[buttonsetbackgroundimage:[uiimageimagenamed:@"checkmarkcontrollericon"]forstate:uicontrolstatenormal];
第六、設定button标題和标題顔色
[button1 settitle:@"點選" forstate:uicontrolstatenormal];
[buttonsettitlecolor:[uicolorredcolor]forstate:uicontrolstatenormal];
第七、設定按鈕按下會發光
button.showstouchwhenhighlighted=no;
第八、添加或删除事件處理
[button1 addtarget:self action:@selector(butclick:) forcontrolevents:uicontroleventtouchupinside];
[btn removetarget:nil action:nil forcontrolevents:uicontroleventtouchupinside];
第九、 設定按鈕内部圖檔間距和标題間距
uiedgeinsets insets; // 設定按鈕内部圖檔間距
insets.top = insets.bottom = insets.right = insets.left = 10;
bt.contentedgeinsets = insets;
bt.titleedgeinsets = insets; // 标題間距