UIButton是什么
UIButton是OC编程语言中很普通的一种控件,就是按钮,它可以实现作为一个按钮应该有的功能,我们往往会通过对按钮的一些属性进行修改以达到美观且功能强大目的。
UIButton的故事
UIButton就像是一件衣服,一般人会直接不加修饰的穿上,可以实现它作为一件衣服的功能,但是不能突显它真正的漂亮。优秀的人根据自己的理解,进行部门的修改并且还搭配一些小饰品,穿出来的就不仅仅是一件衣服,更像是艺术品。UIButton可以简单用也可以复杂用,关键看你怎么用。
提前准备工作:
声明一个UIButton的属性,并且在添加到self.view中,然后在getter方法中逐步尝试它的各种属性吧。
//注意添加的位置
@property(nonatomic, strong)UIButton* btn;
[self.view addSubview:self.btn];
属性:
- 创建对象 设置大小 背景颜色
_btn = [UIButton buttonWithType:UIButtonTypeCustom];
_btn.frame = CGRectMake(50, 100, 200, 100);
_btn.backgroundColor = [UIColor purpleColor];
_btn.tintColor = [UIColor greenColor]; //设置按钮图片和文本的颜色,如果不设置默认是blue颜色
_btn.contentEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 0);//内边
实现效果图:
- 设置Title内容 颜色 字体大小 内边距
[_btn setTitle:@"UIButton title" forState:UIControlStateNormal];
[_btn setTitleColor:[UIColor yellowColor] forState:UIControlStateNormal];
_btn.titleLabel.font = [UIFont systemFontOfSize:20.0];
_btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;//左对齐
_btn.titleEdgeInsets = UIEdgeInsetsMake(0, 35, 0, 0);
实现效果图:
- 在UIButton上添加图片
[_btn setImage:[UIImage imageNamed:@"btnIcon"] forState:UIControlStateNormal];
_btn.imageEdgeInsets = UIEdgeInsetsMake(0, 20, 0, 0);
实现效果图:
- 设置圆角属性
_btn.clipsToBounds=YES; //允许裁剪,如果子视图的范围超出了父视图的边界,那么超出的部分就会被裁减掉。
_btn.layer.cornerRadius = 20; //设置圆角的半径 [[_btn layer] setCornerRadius:20]; 实现效果相同
实现效果图:
- 设置阴影
//设置阴影 _btn.clipsToBounds=YES 和 _btn.layer.masksToBounds = YES 会导致阴影失效
_btn.layer.shadowOffset = CGSizeMake(5, 5);
_btn.layer.shadowOpacity = 1;
_btn.layer.shadowColor = [UIColor grayColor].CGColor;
//_btn.layer.shadowRadius = 20;
实现效果图:
- 设置边框
clipsToBounds -> UIView : 指视图上的子视图,如果超出父视图的部分就截取掉
masksToBounds -> CALayer : 指视图的图层上的子图层,如果超出父图层的部分就截取掉
//_btn.layer.masksToBounds = YES;
_btn.layer.borderWidth = 1.0;
_btn.layer.borderColor = [UIColor yellowColor].CGColor;
实现效果:
- 设置背景图片
[_btn setBackgroundImage:[UIImage imageNamed:@"btnIcon"] forState:UIControlStateNormal];
实现效果图:
- 添加点击事件
[_btn addTarget:self action:@selector(clickBtn) forControlEvents:UIControlEventTouchUpInside];
实现点击方法:
- (void)clickBtn{
//取消点击效果
// _btn.adjustsImageWhenHighlighted = NO;
//不可点击且置灰
// _btn.userInteractionEnabled = NO;
// _btn.alpha = 0.3;
//不可以点击
// _btn.enabled = NO;
NSLog(@"我被点击了一下");
}
实现效果: 自己去尝试一下吧。
UIButton的学习至此先告一段落,这些目前应该足够用了,老铁你会了吗。