设置UILabel的背景(.png文件的透明度问题)

时间:2011-08-15 22:07:06

标签: iphone objective-c ios uilabel

我正在尝试通过设置其属性backgroundColor来设置UILabel的背景。

但我有一个问题:backgroundColor是从.png文件(透明度)创建的,结果是透明部分显示为黑色。

任何解决方案都不需要自定义子类?

更新

我尝试将UILabel属性opaque设置为NO,但问题仍然存在。

6 个答案:

答案 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];

一定是工作,祝你好运!