創(chuàng)建按鈕思想
每個(gè)按鈕用自己?jiǎn)为?dú)的方法時(shí)argument選none當(dāng)共用一個(gè)方法時(shí)argument選擇sender 共用一個(gè)方法輸出是調(diào)用send用來(lái)區(qū)別按鈕
NSLog(@"click - %@",sender);
由于位置經(jīng)常變動(dòng)而tag是不經(jīng)常變動(dòng)的其掂,所以我們一般用tag屬性判斷點(diǎn)擊了那個(gè)按鈕
設(shè)置tag屬性點(diǎn)擊按鈕左邊屬性方法中將不同按鈕的tag值改為不同則可以通過(guò)判斷tag(我們自己設(shè)定的值)判斷點(diǎn)擊哪個(gè)按鈕
- (IBAction)click:(UIButton *)sender {
if (sender.tag ==10) {
NSLog(@"點(diǎn)擊添加按鈕");
}else if(sender.tag ==20){
NSLog(@"點(diǎn)擊刪除按鈕");
}
代碼創(chuàng)建按鈕
添加一個(gè)按鈕
//控制器的view創(chuàng)建完成才能在里面加?xùn)|西
- (void)viewDidLoad {
[super viewDidLoad];//蘋果官方默認(rèn)調(diào)用的,不用管
//1骂澄,創(chuàng)建一個(gè)加號(hào)按鈕
//設(shè)置按鈕為自定義類型
// UIButton *addBtn = [UIButton buttonWithType:UIButtonTypeCustom]等同于下面一行代碼
UIButton *addBtn = [[UIButton alloc]init];
//設(shè)置背景顏色
[addBtn setBackgroundImage:[UIImage imageNamed:@"add"] forState:UIControlStateNormal];
[addBtn setBackgroundImage:[UIImage imageNamed:@"add_highlighted"] forState:UIControlStateHighlighted];
[addBtn setBackgroundImage:[UIImage imageNamed:@"add_disabled"] forState:UIControlStateDisabled];
//創(chuàng)建按鈕坐標(biāo)癣疟,如果按鈕沒(méi)有坐標(biāo)則在屏幕上是沒(méi)有顯示的
addBtn.frame = CGRectMake(30, 30, 70, 60);
//設(shè)置tag值用于區(qū)分方法
addBtn.tag = 10;
//監(jiān)聽按鈕
[addBtn addTarget:self action:@selector(add)
//調(diào)用方法添加按鈕進(jìn)去
[self.view addSubview:addBtn];
}
-(void)add
{
NSLog(@"添加-----");
}
多個(gè)按鈕監(jiān)聽一個(gè)方法
-(void)click:(UIButton *)Btn
{
NSLog(@"點(diǎn)擊了按鈕 - %@",Btn);
}
將傳入的方法名改為click:就可以了傳入方法名是為了區(qū)分按鈕
可以設(shè)置tag值用于區(qū)分不同按鈕
addBtn.tag = 10;
方法里的內(nèi)容改為
if (Btn.tag ==10) {
NSLog(@"點(diǎn)擊添加按鈕");
}else if(Btn.tag ==20){
NSLog(@"點(diǎn)擊刪除按鈕");
}
(企業(yè)級(jí)開發(fā)不用tag)
可以將添加按鈕封裝成一個(gè)函數(shù)這樣添加一個(gè)按鈕調(diào)用一次這個(gè)函數(shù)就可以了
-(void) addButtenWithImage:(NSString *)image highImage:(NSString *)highImage disableImage:(NSString *)disableImage frame:(CGRect)frame tag:(NSInteger)tag action:(SEL)action
{
UIButton *btn = [[UIButton alloc]init];
[btn setBackgroundImage:[UIImage imageNamed:image] forState:UIControlStateNormal];
[btn setBackgroundImage:[UIImage imageNamed:highImage] forState:UIControlStateHighlighted];
[btn setBackgroundImage:[UIImage imageNamed:disableImage] forState:UIControlStateDisabled];
btn.frame = frame;
btn.tag = tag;
[btn addTarget:self action:action forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];
}
調(diào)用這個(gè)函數(shù)的方法是下面的方法挣柬,只需要將變量傳送過(guò)去就可以
[self addButtenWithImage:@"add" highImage:@"add_highlighted" disableImage:@"add_disabled" frame:CGRectMake(30, 30, 70, 60) tag:10 action:@selector(add)];