Iphone can';不要让我的UIButton显示为半透明

Iphone can';不要让我的UIButton显示为半透明,iphone,popup,uibutton,uicolor,Iphone,Popup,Uibutton,Uicolor,我在弹出窗口中添加了一个UIButton作为子视图,但我无法让它半透明地显示出来。弹出窗口主视图的背景显示为半透明,但此按钮保持完全不透明。有人能告诉我为什么下面的代码不起作用吗?谢谢 UIButton* checkButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; checkButton.frame = CGRectMake(187, 288, 30, 30); [checkButton setTitle:

我在弹出窗口中添加了一个UIButton作为子视图,但我无法让它半透明地显示出来。弹出窗口主视图的背景显示为半透明,但此按钮保持完全不透明。有人能告诉我为什么下面的代码不起作用吗?谢谢

  UIButton* checkButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    checkButton.frame = CGRectMake(187, 288, 30, 30);
    [checkButton setTitle:@"?" forState:UIControlStateNormal];
    checkButton.opaque = NO;
    [checkButton setBackgroundColor:[UIColor colorWithWhite:1.0 alpha:0.3]];        
    [checkButton setTitleColor: [UIColor colorWithRed: 51 / 255.0 green:0 blue: 153 / 255.0 alpha:0.5] forState: UIControlStateNormal];
    [checkButton addTarget:self action:@selector(check) forControlEvents:UIControlEventTouchUpInside];
    [self addSubview:checkButton];

尝试使用
UIButtonTypeCustom
而不是
uiButtontyPeroundRect
作为按钮类型。

uiButtontyPeroundRect很奇怪。在其上设置background/alpha等只会更改按钮渲染到的矩形的背景


您可以将按钮类型更改为UIButtonTypeCustom,然后使用QuartzCore设置cornerRadius以使其显示为圆形。

RoundedRect按钮的背景是其所在的矩形,而不是按钮本身。尝试将背景颜色更改为红色或其他同样可见的颜色,您将看到背景仅在按钮圆角和设置按钮的矩形框之间可见。遗憾的是,您无法更改按钮的颜色,这正是大多数人在更改
backgroundColor
属性时所做的


要更改按钮颜色,您需要使用
uibuttonypecustom

尝试将UIColor设置为

myButton.layer.backgroundColor = [UIColor x..]
你需要一个

#import <QuartzCore/QuartzCore.h>
#导入
我很确定圆形矩形按钮的颜色在图层中,而不是在常规背景中,这就是为什么人们很难改变它的颜色


或者,将视图颜色上的alpha设置回1,并点击views alpha属性,这肯定会一步到位。

PengOne是正确的–设置背景颜色不会更改圆角矩形的颜色。它只影响矩形周围的角


但您也可以将按钮的alpha属性设置为小于1的值。尝试0.7使视图半透明。

谢谢。你能给我一行示例代码来解释你所说的“将按钮的alpha属性设置为小于1的值”吗?我尝试了你的建议。我收到一条警告,上面写着“不兼容的指针类型”。好的,请尝试粗体mybutton.layer.backgroundColor=[UIColor xColor]。CGColor最后一周的内容很重要,很抱歉我犯了错误。我去试了试,layer.backgroundColor也只显示在后面。白色显示在其上方未记录的子视图上。我确实在某个地方有一个“对象子视图索引器”脚本,我会研究它,我知道很多人都想重新激活圆形rect按钮。//。将按钮类型设置为custom,在视图中查看是否加载或其他内容。。mybutton.backgroundColor=[UIColor clearColor]//隐藏普通背景层。。mybutton.layer.cornerRadius=12.0//将层上的角磨圆..//mybutton.layer.borderWidth=2.0;//mybutton.layer.borderColor=[UIColor 1borderColor].CGColor;//myButton.layer.masksToBounds=是;////这和上面的3是可选的第二种颜色的边框,看起来不错。。myButton.layer.backgroundColor=[UIColor 2mainButtonColor].CGColor;//以上这些肯定会起作用,给你一个可重新着色的圆形按钮,你只是失去了苹果的性感亮点而已如果你加上足够的圆角半径,你会得到一个圆/椭圆。。