一 UIButton
作用:响应用户的点击事件(与用户交互)
见【Demo】-【1-UIButton】
//************一 UIButton常用方法***
//1.创建UIButton对象(使用类方法来创建对象)
// UIButtonTypeCustom = 0, //自适应样式,一般用于自适应图片
//
// UIButtonTypeDetailDisclosure,
// UIButtonTypeInfoLight,
// UIButtonTypeInfoDark,
// UIButtonTypeContactAdd,
//
// UIButtonTypeRoundedRect = UIButtonTypeSystem, //常规样式
UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button1.frame = CGRectMake(20, 50, 80, 40);
button1.backgroundColor = [UIColor orangeColor];
//2.给按钮添加标题 【**重点】
// UIControlStateNormal = 0, 常规状态
// UIControlStateHighlighted = 1 << 0, 高亮状态
// UIControlStateDisabled = 1 << 1, 禁用状态
// UIControlStateSelected = 1 << 2, 选择状态
// UIControlStateApplication = 0x00FF0000,
// UIControlStateReserved = 0xFF000000
[button1 setTitle:@"按钮1" forState:UIControlStateNormal];
//设置标题颜色
[button1 setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];
//设置标题所对应的label
button1.titleLabel.font = [UIFont boldSystemFontOfSize:22];
//3.给按钮添加点击事件 【**重点**】
/*
第一个参数:表示哪个对象响应事件,通常情况下,写self
第二个参数:是一个选择器,里面放的是方法(由Target来响应action方法),
第三个参数:表示的是事件的类型,
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];
//在选中状态下,标题改为橙色
[btn4 setTitleColor:[UIColor orangeColor] forState:UIControlStateSelected];
//添加事件
[btn4 addTarget:self action:@selector(btn4Click:) forControlEvents:UIControlEventTouchUpInside];
//调节图片的位置(top,left,bottom,right)
[btn4 setImageEdgeInsets:UIEdgeInsetsMake(-30, 30, 0, 0)];
//调节标题的位置
[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];
//设置在禁用状态,显示标题
[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.定时器执行具体事件(固定格式)
/*
第一个参数:事件间隔
第二个参数:指定由哪个对象来执行方法,写self
第三个参数:选择器,由target来调用的方法
第四个参数:nil
第五个参数:YES 表示重复调用,每隔多少秒调用一次
NO 只调用一次
*/
_timer = [NSTimer scheduledTimerWithTimeInterval:0.000001 target:self selector:@selector(startFly) userInfo:nil repeats:YES];
具体方法实现里面步骤:
1.拿到执行事件的对象(view、label、button。。。。。。)
//拿到label对象,修改它的frame;
UILabel *label = (UILabel *)[self.window viewWithTag:200];
2.写对象要具体执行的动作
。。。。。