我正在尝试通过设置其属性backgroundColor
来设置UILabel的背景。
但我有一个问题:backgroundColor是从.png文件(透明度)创建的,结果是透明部分显示为黑色。
任何解决方案都不需要自定义子类?
更新
我尝试将UILabel属性opaque
设置为NO
,但问题仍然存在。
答案 0 :(得分:4)
听起来您可能忘记更改UILabel的不透明属性:
label.opaque = NO;
或者,您可以在Xcode的InterfaceBuilder视图中设置此属性。
答案 1 :(得分:2)
我遇到了同样的问题,解决方法是:
[yourLabel setBackgroundColor:[UIColor clearColor]];
更改不透明或alpha值无效。
答案 2 :(得分:1)
也许你可以尝试这个:
[your_label setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"yourImage.png"]]];
答案 3 :(得分:0)
将其opaque
属性更改为NO
。
如果它没有帮助,您可以添加imageView behing您的标签:
[yourLabel setOpaque:NO];
[yourLabel setBackgroundColor:[UIColor clearColor]];
UIImageView *labelBkg = [[UIImageView alloc] initWithFrame:yourLabel.frame];
[labelBkg setImage:[UIImage imageNamed:@"yourImageName.png"]];
[self.view insertSubview:labelBkg belowSubview:yourLabel];
[labelBkg release];
答案 4 :(得分:0)
您还需要将其另存为png24或24位png文件 - 至少从PhotoShop保存时就是这种情况
答案 5 :(得分:0)
[footer setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"Favourite_商品文字背景.png"]]];
[footer setOpaque:NO];
一定是工作,祝你好运!