具有背景颜色和透明前景图像的 UIButton 自定义类型不起作用
Posted
技术标签:
【中文标题】具有背景颜色和透明前景图像的 UIButton 自定义类型不起作用【英文标题】:UIButton Custom Type with background color and transparent foreground image not working 【发布时间】:2013-05-23 18:28:09 【问题描述】:我有以下自定义按钮:
_button = [UIButton buttonWithType:UIButtonTypeCustom];
_button.backgroundColor = [UIColor darkGrayColor];
UIImage *bg = [UIImage imageNamed:@"btn_bg_highlighted.png"];
[_button setBackgroundImage:bg forState:UIControlStateHighlighted];
正如预期的那样,该按钮具有深灰色背景。当我按下按钮时,会显示背景图像(红色方块)。
稍后在程序中我设置按钮前景图像,它是透明的(红色矩形)。之后,灰色背景变为白色。当我按下按钮时,它变成灰色。
当我在[UIButton buttonWithType:UIButtonTypeCustom]
之后设置图像时效果很好。
你知道问题出在哪里吗?
【问题讨论】:
【参考方案1】:好吧,我很愚蠢。我从NSData
对象获取图像。在服务器上,UIImage
被转换为 NSData
和 UIImageJPEGRepresentation(image, quality)
。但这应该是UIImagePNGRepresentation(image)
,否则客户端会丢失透明度。现在一切正常!
【讨论】:
以上是关于具有背景颜色和透明前景图像的 UIButton 自定义类型不起作用的主要内容,如果未能解决你的问题,请参考以下文章
具有透明背景和不透明前景的 iOS 模态 ViewController