今天我们开始UIButton的研究,UIButton是一个可以产生交互的视图,在App中也是高频出现的视图类,顾名思义就是按钮的意思,看到按钮他的功能我们就一目了然了,就是可以单击,然后发生对应的动作。
//眼熟吧,不多解释了
UIButton *button = [[UIButton alloc]initWithFrame:CGRectMake(50, 50, 100, 30)];
[self.view addSubview:button];
//设置button的背景图片,参数为UIImage
[button setBackgroundImage:[UIImage imageNamed: @"tea1.png" ]
forState:UIControlStateNormal];
[button setBackgroundImage:[UIImage imageNamed: @"tea2.png" ]
forState:UIControlStateHighlighted];
/*你可能会对我的这两行代码有疑问,很正常,这两句话的意思是button在平时状态
下的背景是tea1.png,当被点击下去的时候背景图会变成tea2.png,当松开时又会
变成tea1.png,如果你有兴趣可以继续深入的研究下UIButton的UIControlState*/
//设置button的文本
[button setTitle:@"123"forState:UIControlStateNormal];
[button setTitle:@"321"forState:UIControlStateHighlighted];
//这里是不是与上边很类似,没错作用是一样的
//调整图片在当前button视图上的位置,参数是UIEdgeInsets ,后边的参数分别代表着上,左,下,右
[button setImageEdgeInsets:UIEdgeInsetsMake(0, 10, 0, 0)];
//同上,只不过这个调整的是文字的偏移
[button setTitleEdgeInsets:UIEdgeInsetsMake(0, 0, 0, 10)];
//设置button的文本颜色
[button setTitleColor:[UIColor whiteColor]forState:UIControlStateNormal];
[button setTitleColor:[UIColor blackColor]forState:UIControlStateHighlighted];
//同理哦!
/*为button添加关联事件,UIControlEventTouchUpInside当我们点击在button内部
并且离开button时也在内部的时候才会触发drinkTea这个方法,这也是UIButton的一个
方便之处,他为我们设置了很多不同的触发方法。*/
[button addTarget:self action:@selector(drinkTea)
forControlEvents:UIControlEventTouchUpInside];
UIButton是可以添加事件的,但是添加事件这里有个小地方要注意下
当没有冒号的时候
没有冒号[button addTarget:self action:@selector(drinkTea)
forControlEvents:UIControlEventTouchUpInside];
- (void)drinkTea {
NSLog(@"茶哥儿,写快点!");
}
当有冒号的时候
有冒号[button addTarget:self action:@selector(drinkTea:)
forControlEvents:UIControlEventTouchUpInside];
- (void)drinkTea:(UIButton *)sender {
NSLog(@"茶哥儿,写快点!");
}
看到区别了吧,没错当方法名后边有冒号的时候,对应的方法后边是要跟参数的,参数类型就是UIButton,而参数sender指得就是我们上边创建的button。
创造即永恒,喝茶去……
网友评论