1

我想在 UIButton 被触摸时用颜色填充它。该方法可以在action方法中实现

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

我得到如下按钮

在此处输入图像描述

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

在此处输入图像描述

4

4 回答 4

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

输出是:-

在此处输入图像描述

类似的东西:-

iOS - 设置 UIButton 背景颜色只为角落着色

于 2013-08-22T11:55:28.063 回答
1

您只需要设置tintColor属性: [sender setTintColor:[UIColor redColor]];

所以当 TouchUpInside 时你会得到高亮颜色。如果您还想更改背景颜色,那就更复杂了。然后你必须使用Quartz

于 2013-08-22T11:55:58.257 回答
1

只做这个

UIButton * bocClick = [UIButton buttonWithType:UIButtonTypeCustom];

于 2013-08-22T11:59:03.437 回答
1

请尝试将按钮类型更改为 UiButtonTypeCustom。请看下面的图片。 在此处输入图像描述 希望它会帮助你。

于 2013-08-22T12:30:31.947 回答