是什么?
![](https://img.haomeiwen.com/i2337348/4a4be57488a5e414.png)
思路:
- 怎么将普通按钮,改变为有圆角的按钮?
- 直接叫美工,做圆角按钮图片。
-
自定义cell
中,更改按钮的'圆角半径',从而达到此效果。 - 通过
自定义按钮
的方式,达到此效果。
-
自定义cell
中,更改按钮的'圆角半径',达到圆形按钮的效果.
awakeFromNib
-(void)setCircleButton:(UIButton *) clickButton {
clickButton.layer.borderWidth = 1; // 按钮的边框
clickButton.layer.borderColor = [UIColor redColor].CGColor; // 按钮边框的颜色
//按钮圆角的半径(当圆角半径,为宽度的一半,就是一个圆)
clickButton.layer.cornerRadius = self.plusButton.frame.size.width * 0.5;
}
//代码为什么写在awakeFromNib方法中?
//stroryboard里面的控件,是从awakeFromNib方法中加载出来得
//设置圆角,只需要设置一次就可以。
- (void)awakeFromNib {
[super awakeFromNib];
[self setCircleButton:self.plusButton]; //加号按钮
[self setCircleButton:self.minusButton];
}
-
自定义按钮
方式- 创建继承自
UIButton
的自定义按钮
-
storyboard
中将"按钮的类型"设置为自定义按钮的类
这样"自定义按钮"才能跟storyboard
关联,才能使用"自定义按钮"里面的方法。
- 在自定义按钮里,将按钮设置为圆形。
- (void)awakeFromNib { [super awakeFromNib]; // 设置边框宽度 self.layer.borderWidth = 1; // 设置边框颜色 self.layer.borderColor = [UIColor redColor].CGColor; // 设置圆角半径 self.layer.cornerRadius = self.frame.size.width * 0.5; }
- 创建继承自
-
为什么"边框圆角半径 = 按钮宽度✖️ 0.5",就是圆形呢 ?
-
为什么,推荐使用"自定义按钮"的方法呢?
- 在
自定义cell
里面写按钮圆角的方法。是"cell 访问内部的按钮里面的属性"。 - 在
自定义按钮
里面写按钮圆角的方法。是"直接访问按钮本身的属性"。 - 根据就近原则,所以选择"自定义按钮"。
- 实现解耦和利于扩展。
- 在
网友评论