一 UIButton
作用:響應用戶的點擊事件(與用戶交互)
見【Demo】-【1-UIButton】
//************一 UIButton常用方法***
//1.創(chuàng)建UIButton對象(使用類方法來創(chuàng)建對象)
// UIButtonTypeCustom = 0, //自適應樣式,一般用于自適應圖片
//
// UIButtonTypeDetailDisclosure,
// UIButtonTypeInfoLight,
// UIButtonTypeInfoDark,
// UIButtonTypeContactAdd,
//
// UIButtonTypeRoundedRect = UIButtonTypeSystem, //常規(guī)樣式
UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button1.frame = CGRectMake(20, 50, 80, 40);
button1.backgroundColor = [UIColor orangeColor];
//2.給按鈕添加標題 【**重點】
// UIControlStateNormal = 0, 常規(guī)狀態(tài)
// UIControlStateHighlighted = 1 << 0, 高亮狀態(tài)
// UIControlStateDisabled = 1 << 1, 禁用狀態(tài)
// UIControlStateSelected = 1 << 2, 選擇狀態(tài)
// UIControlStateApplication = 0x00FF0000,
// UIControlStateReserved = 0xFF000000
[button1 setTitle:@"按鈕1" forState:UIControlStateNormal];
//設置標題顏色
[button1 setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];
//設置標題所對應的label
button1.titleLabel.font = [UIFont boldSystemFontOfSize:22];
//3.給按鈕添加點擊事件 【**重點**】
/*
第一個參數(shù):表示哪個對象響應事件,通常情況下,寫self
第二個參數(shù):是一個選擇器,里面放的是方法(由Target來響應action方法),
第三個參數(shù):表示的是事件的類型,
UIControlEventTouchUpInside(表示按下按鈕,并在按鈕的frame范圍內松開手指一瞬間響應事件)-【點擊按鈕】; 【*******重點】
*/
[button1 addTarget:self action:@selector(button1Click:) forControlEvents:UIControlEventTouchUpInside];
//************ 三. 自適應圖片的樣式
//如果要自適應圖片,按鈕類型要寫成UIButtonTypeCustom
UIButton *btn3 = [UIButton buttonWithType:UIButtonTypeCustom];
btn3.frame = CGRectMake(20, 200, 60, 60);
//設置圖片
//圖片類型如果是png,可以省略后綴.png
//如果是jpg,則必須寫全
UIImage *image = [UIImage imageNamed:@"1.png"];
[btn3 setImage:image forState:UIControlStateNormal];
四.圖片自適應和顏色的更改
UIButton *btn4 = [UIButton buttonWithType:UIButtonTypeCustom];
btn4.frame = CGRectMake(20, 300, 200, 120);
//設置背景圖片
[btn4 setBackgroundImage:[UIImage imageNamed:@"bg"] forState:UIControlStateNormal];
//設置普通圖片
[btn4 setImage:[UIImage imageNamed:@"1"] forState:UIControlStateNormal];
[btn4 setImage:[UIImage imageNamed:@"2"] forState:UIControlStateSelected];
//設置標題
[btn4 setTitle:@"按鈕4" forState:UIControlStateNormal];
//在選中狀態(tài)下,標題改為橙色
[btn4 setTitleColor:[UIColor orangeColor] forState:UIControlStateSelected];
//添加事件
[btn4 addTarget:self action:@selector(btn4Click:) forControlEvents:UIControlEventTouchUpInside];
//調節(jié)圖片的位置(top,left,bottom,right)
[btn4 setImageEdgeInsets:UIEdgeInsetsMake(-30, 30, 0, 0)];
//調節(jié)標題的位置
[btn4 setTitleEdgeInsets:UIEdgeInsetsMake(60, -70, 0, 0)];
[self.window addSubview:btn4];
-(void)btn4Click:(UIButton *)btn{
//通過tag值找到對應的對象
UIButton *button = (UIButton *)[self.window viewWithTag:100];
button.enabled = YES;
btn.selected = !btn.selected;
NSLog(@"按鈕4被點擊了");
}
五.button的高亮模式,標題的禁用更改問題
UIButton *btn5 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn5.frame = CGRectMake(20, 430, 80, 40);
[btn5 setTitle:@"按鈕5" forState:UIControlStateNormal];
[btn5 setTitle:@"高亮中" forState:UIControlStateHighlighted];
//設置在禁用狀態(tài),顯示標題
[btn5 setTitle:@"禁用中" forState:UIControlStateDisabled];
btn5.backgroundColor = [UIColor yellowColor];
[btn5 addTarget:self action:@selector(btn5Click:) forControlEvents:UIControlEventTouchUpInside];
//給按鈕對象添加一個唯一的標簽(所有的對象的tag值必須是唯一的)
btn5.tag = 100;
[self.window addSubview:btn5];
-(void)btn5Click:(UIButton *)btn{
//YES 非禁用 NO 禁用
btn.enabled = NO;
NSLog(@"按鈕5被點擊了");
}
NSTimer
見【Demo】-【2-NSTimer】
1.定時器設為私有的成員變量
2.定時器執(zhí)行具體事件(固定格式)
/*
第一個參數(shù):事件間隔
第二個參數(shù):指定由哪個對象來執(zhí)行方法,寫self
第三個參數(shù):選擇器,由target來調用的方法
第四個參數(shù):nil
第五個參數(shù):YES 表示重復調用,每隔多少秒調用一次
NO 只調用一次
*/
_timer = [NSTimer scheduledTimerWithTimeInterval:0.000001 target:self selector:@selector(startFly) userInfo:nil repeats:YES];
具體方法實現(xiàn)里面步驟:
1.拿到執(zhí)行事件的對象(view、label、button。。。。。。)
//拿到label對象,修改它的frame;
UILabel *label = (UILabel *)[self.window viewWithTag:200];
2.寫對象要具體執(zhí)行的動作
。。。。。