我希望在触摸时用颜色填充UIButton。该方法可以在动作方法
中实现- (IBAction)bocClick:(UIButton *)sender {
[sender setBackgroundColor:[UIColor blackColor]];
}
我得到如下按钮
这个背景不足以满足我的需要,我需要有效果,比如......
答案 0 :(得分:2)
您正在使用圆形rect
按钮,这有点复杂,无法自定义。
您可以创建自定义类型按钮并使用背景图像,或创建自定义类型按钮并围绕角落并自行设置图层的背景colour
。
或者您也可以使用以下方式: -
您可以像下面这样添加UIView或Lable: -
- (IBAction)bocClick:(UIButton *)sender {
UILabel *lbl2=[[UILabel alloc]initWithFrame:_btn.bounds];
lbl2.text=@"Button";
lbl2.textAlignment=UITextAlignmentCenter;
lbl2.font=[UIFont boldSystemFontOfSize:16];
lbl2.backgroundColor=[UIColor redColor];
lbl2.layer.cornerRadius = 5;
lbl2.layer.masksToBounds = YES;
[sender addSubview:lbl2];
}
输出是: -
similor: -
iOS - Setting UIButton background color only colors the corners
答案 1 :(得分:1)
您只需设置tintColor
属性:
[sender setTintColor:[UIColor redColor]];
因此,当TouchUpInside获得高亮颜色时。如果你还想改变背景颜色,那就更复杂了。然后你必须使用Quartz
答案 2 :(得分:1)
只做这个
UIButton * bocClick = [UIButton buttonWithType:UIButtonTypeCustom];
答案 3 :(得分:1)
请尝试将按钮类型更改为UiButtonTypeCustom。 请看下面的图片。 希望它会对你有所帮助。