IOS开发中伴随我们始终的 最常用的几个空间之一 -- UIButton 按钮,对于button今天在此做一些浅析,并介绍下主流用法以及常见问题解决办法.
首先是继承问题,UIButton继承于UIControl,而UIControl继承于UIView.
那么UIButton自然继承了UIView的属性.比如frame,layer等
至于UIButton的创建
- UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
- button.backgroundColor = [UIColor clearColor];
- button.frame = CGRectMake(90, 90, 51, 24);
-
- [button setTitle:@"请点击" forState:UIControlStateNormal];
- [button setTitle:@"点击中" forState:UIControlStateHighlighted];
- [button setTitle:@"已点击" forState:UIControlStateSelected];
-
- button.selected = NO;
- self.isSelected = 0;
- [button setTitleColor:[UIColor clearColor] forState:UIControlStateNormal];
- [button setTitleColor:[UIColor yellowColor] forState:UIControlStateSelected];
- button.titleLabel.font = [UIFont systemFontOfSize:30];
- [button setImage:[UIImage imageNamed:@"BtnOff@2x.png"] forState:UIControlStateNormal];
-
- button.adjustsImageWhenHighlighted = NO;
-
- [button setImage:[UIImage imageNamed:@"IconAdd.png"] forState:UIControlStateHighlighted];
- [button setBackgroundImage:[UIImage imageNamed:@"FrendAdd.png"] forState:UIControlStateNormal];
- [button setBackgroundImage:[UIImage imageNamed:@"IconAdd.png"] forState:UIControlStateHighlighted];
-
-
-
- [button addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];
- [self.window addSubview:button];
对于在button上加图片有2种方式
第一种:setBackGroudImage:图片被拉伸
第二种:setImage: 图片保持原大小
注意设置图片时可能会出现渲染问题 此时的解决办法
- UIImage *setImage = [UIImage imageNamed:@"setImage"];
- UIImage *newSetImage = [setImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
给button设置成圆形
- button.layer.cornerRadius = 50;
-
- [button.layer masksToBounds];
-
- button.layer.borderWidth = 3;
-
- button.layer.borderColor = [UIColor orangeColor].CGColor;
给button设置阴影
- button.layer.shadowOffset = CGSizeMake(1, 1);
同时设置button上有文字和图片,并且同时实现点击效果
- [button setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];
button.imageEdgeInsets = UIEdgeInsetsMake(5,13,21,button.titleLabel.bounds.size.width);
button如果设置了图片的情况下 还有一个酷炫的点击效果
- button.showsTouchWhenHighlighted = YES;
以上适合于IOS初学者对于button的使用,button的一些常用主流实现功能以及常见的需求逻辑UIButton 解析
原文:http://www.cnblogs.com/Jenaral/p/5022390.html