2011-08-15 40 views
3

我試圖通過設置其屬性backgroundColor來設置UILabel的背景。設置UILabel的背景(.png文件的透明問題)

但我有一個問題:backgroundColor是從.png文件(透明度)創建的,結果是透明部分顯示爲黑色。

任何解決方案,不需要自定義子類?

更新

我試過的UILabel屬性opaque設置爲NO,但問題依然存在。

回答

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

這聽起來像你可能會忘記更改的UILabel的不透明性質:

label.opaque = NO; 

或者,您可以在Xcode的InterfaceBuilder視圖中設置此屬性。從Photoshop

+0

這對我有效!我可以*看穿*現在... – Mundi

+0

不適合我:S該死的! – Francesco

0

您還需要將其保存爲一個PNG24或24位png文件!

0
[footer setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"Favourite_商品文字背景.png"]]]; 
[footer setOpaque:NO]; 
節省

它必須是工作,當好運至少是這樣的話 -

1

也許你可以試試這個:

[your_label setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"yourImage.png"]]]; 
2

我有同樣的問題,解決的辦法是:

[yourLabel setBackgroundColor:[UIColor clearColor]]; 

改變不透明或alpha值沒有工作。

+0

在我的情況下,更換Opaque什麼都沒做,但是爲我設置了一個清晰的背景色。謝謝! –