初始化UIButton: 可以用alloc init,也可以用buttonWithType:;純代碼常用后者。
- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.//1.創建一個圓角矩形的按鈕UIButton * button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];// 能夠定義的button類型有以下6種 // typedef enum{ // UIButtonTypeCustom = 0, 自定義風格 // UIButtonTypeRoundedRect, 圓角矩形 // UIButtonTypeDetailDisclosure, 藍色小箭頭按鈕,主要做詳細說明 // UIButtonTypeInfoLight, 亮色感嘆號 // UIButtonTypeInfoDark, 暗色感嘆號 // UIButtonTypeContactAdd, 十字加號按鈕 // }UIButtonType;
//2.button在view上的位置button1.frame = CGRectMake(60, 80, 280, 20);//3.button背景色button1.backgroundColor = [UIColor redColor];//設置button填充圖片// [button1 setImage:[UIImage imageNamed:@”btng.png”] forState:UIControlStateNormal];
//4.設置button標題[button1 setTitle:@"點擊" forState:UIControlStateNormal];/* forState: 這個參數的作用是定義按鈕的文字或圖片在何種狀態下才會顯現*///以下是幾種狀態// enum {// UIControlStateNormal = 0, 常規狀態顯現// UIControlStateHighlighted = 1 << 0, 高亮狀態顯現// UIControlStateDisabled = 1 << 1, 禁用的狀態才會顯現// UIControlStateSelected = 1 << 2, 選中狀態// UIControlStateapplication = 0x00FF0000, 當應用程序標志時// UIControlStateReserved = 0xFF000000 為內部框架預留,可以不管他// };/* * 默認情況下,當按鈕高亮的情況下,圖像的顏色會被畫深一點,如果這下面的這個屬性設置為no, * 那么可以去掉這個功能 */// button1.adjustsImageWhenHighlighted = NO;
/*跟上面的情況一樣,默認情況下,當按鈕禁用的時候,圖像會被畫得深一點,設置NO可以取消設置*/// button1.adjustsImageWhenDisabled = NO;
/* 下面的這個屬性設置為yes的狀態下,按鈕按下會發光*/button1.showsTouchWhenHighlighted = YES;/*5.下面這個時間的意思是按下按鈕,并且手指離開屏幕的時候觸發這個事件,跟web中的click事件一樣。觸發了這個事件以后,執行butClick:這個方法,addTarget:self 的意思是說,這個方法在本類中也可以傳入其他類的指針*///方法加冒號,則下面的方法有參數,不加冒號就沒有參數[button1 addTarget:self action:@selector(aClick:) forControlEvents:UIControlEventTouchUpInside];//6.顯示控件[self.view addSubview:button1];}
//按鈕執行的方法 -(void)aClick:(UIButton *)btn{
//傳參數,將btn背景顏色變成紫色[btn setBackgroundColor:[UIColor purpleColor]];// 點擊之后輸出文字 NSLog(@”點擊完成”); }
新聞熱點
疑難解答