2010-08-16 54 views
3

是否可以使背景半透明?如果我更改了alpha,它会更改标题和边框。我可以更改titleLabel.alpha属性,但它不会在按钮Alpha上方,仅在它下面。UIButton只有背景稍微透明

我知道我可以做一个自定义的,但以为会有一个更简单的方法

+0

so backgroundColor影响比你想要的更多吗?道歉,如果这是你的意思是自定义,但如何使用按钮与图像的图像是一个纯色与你想要的alpha? – 2010-08-16 23:27:59

+0

backgoundColor会改变外部颜色,而不是内部颜色。我其实也想要按钮的边框,如果我改变了alpha,它也改变了这一点。我尝试了一个空白图像或零,它没有预期的效果 – Rudiger 2010-08-16 23:32:09

回答

1

渲染的是这样一个空白按钮:

UIGraphicsBeginImageContextWithOptions(size,0,0); 
[button.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage * img = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

从那里,它并不难减半阿尔法(在将图像拉出之前,在“DestOver”混合模式中用50%的不透明矩形填充它?)。然后将其设置为自定义按钮的背景。

艾奇。好吧。

或者,您可以直接修改视图层次结构中的视图;不推荐,因为它往往会跨越操作系统版本。

+0

简而言之,这是不好的方式。我最终制作了一个自定义的 – Rudiger 2010-09-16 04:48:00