今天我們開始UIButton的研究,UIButton是一個可以產(chǎn)生交互的視圖闲询,在App中也是高頻出現(xiàn)的視圖類,顧名思義就是按鈕的意思枪萄,看到按鈕他的功能我們就一目了然了,就是可以單擊,然后發(fā)生對應(yīng)的動作。
//眼熟吧画机,不多解釋了
UIButton *button = [[UIButton alloc]initWithFrame:CGRectMake(50, 50, 100, 30)];
[self.view addSubview:button];
//設(shè)置button的背景圖片,參數(shù)為UIImage
[button setBackgroundImage:[UIImage imageNamed: @"tea1.png" ]
forState:UIControlStateNormal];
[button setBackgroundImage:[UIImage imageNamed: @"tea2.png" ]
forState:UIControlStateHighlighted];
/*你可能會對我的這兩行代碼有疑問都毒,很正常色罚,這兩句話的意思是button在平時狀態(tài)
下的背景是tea1.png碰缔,當(dāng)被點擊下去的時候背景圖會變成tea2.png账劲,當(dāng)松開時又會
變成tea1.png,如果你有興趣可以繼續(xù)深入的研究下UIButton的UIControlState*/
//設(shè)置button的文本
[button setTitle:@"123"forState:UIControlStateNormal];
[button setTitle:@"321"forState:UIControlStateHighlighted];
//這里是不是與上邊很類似金抡,沒錯作用是一樣的
//調(diào)整圖片在當(dāng)前button視圖上的位置瀑焦,參數(shù)是UIEdgeInsets ,后邊的參數(shù)分別代表著上梗肝,左榛瓮,下,右
[button setImageEdgeInsets:UIEdgeInsetsMake(0, 10, 0, 0)];
//同上巫击,只不過這個調(diào)整的是文字的偏移
[button setTitleEdgeInsets:UIEdgeInsetsMake(0, 0, 0, 10)];
//設(shè)置button的文本顏色
[button setTitleColor:[UIColor whiteColor]forState:UIControlStateNormal];
[button setTitleColor:[UIColor blackColor]forState:UIControlStateHighlighted];
//同理哦禀晓!
/*為button添加關(guān)聯(lián)事件,UIControlEventTouchUpInside當(dāng)我們點擊在button內(nèi)部
并且離開button時也在內(nèi)部的時候才會觸發(fā)drinkTea這個方法坝锰,這也是UIButton的一個
方便之處粹懒,他為我們設(shè)置了很多不同的觸發(fā)方法。*/
[button addTarget:self action:@selector(drinkTea)
forControlEvents:UIControlEventTouchUpInside];
UIButton是可以添加事件的顷级,但是添加事件這里有個小地方要注意下
當(dāng)沒有冒號的時候
沒有冒號
[button addTarget:self action:@selector(drinkTea)
forControlEvents:UIControlEventTouchUpInside];
- (void)drinkTea {
NSLog(@"茶哥兒凫乖,寫快點!");
}
當(dāng)有冒號的時候
有冒號
[button addTarget:self action:@selector(drinkTea:)
forControlEvents:UIControlEventTouchUpInside];
- (void)drinkTea:(UIButton *)sender {
NSLog(@"茶哥兒弓颈,寫快點帽芽!");
}
看到區(qū)別了吧,沒錯當(dāng)方法名后邊有冒號的時候翔冀,對應(yīng)的方法后邊是要跟參數(shù)的导街,參數(shù)類型就是UIButton,而參數(shù)sender指得就是我們上邊創(chuàng)建的button纤子。
創(chuàng)造即永恒菊匿,喝茶去……