在内部触摸时用UIButton填充颜色

时间:2013-08-22 11:52:28

标签: ios uibutton uicolor

我希望在触摸时用颜色填充UIButton。该方法可以在动作方法

中实现
- (IBAction)bocClick:(UIButton *)sender {
    [sender setBackgroundColor:[UIColor blackColor]];
}

我得到如下按钮

enter image description here

这个背景不足以满足我的需要,我需要有效果,比如......

enter image description here

4 个答案:

答案 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];
}

输出是: -

enter image description here

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。 请看下面的图片。 enter image description here 希望它会对你有所帮助。