2011-07-04 243 views
2

我添加了一個應該用透明度顯示的PNG圖像的子視圖,但是我在透明度應該是全黑的地方。UIView背景圖像透明度問題

的代碼是:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    toolbar.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"BannerBackground.png"]]; 
    logoImage = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 120, 56)]; 
    logoImage.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Logo.png"]]; 
    [self.view addSubview:logoImage]; 

} 

這是代碼用於ipad公司,IOS版本4.3。我和模擬器和iPad都有同樣的問題。

由於這是添加的最後一個視圖,我期望它的z索引高於其他所有視圖,所以其他視圖應該通過透明區域顯示。這不起作用。

+0

我已經得到了同樣的問題一些透明圖像。這似乎是一個無證的iOS 4.3錯誤。 : - /我可以在模擬器上進行復制,但不能在設備上進行復制,因爲我沒有任何運行4.3的設備進行測試。 你有沒有找到解決這個問題的辦法? –

回答

0

將視圖的屬性設置爲不透明。像這樣[view setOpaque:NO];

+0

我嘗試了上面的建議,然後嘗試從網頁中的PNG,我知道圖像透明度正在工作。還是行不通。 – Jim

0

失敗setOpaque:NO ...請檢查您的圖像正確導出和未損壞等。發生在我身上一次

+1

謝謝。我試過這個,但沒有奏效。還有其他的錯誤。 – Jim

0

創建透明的backgroundColor和您的徽標作爲其圖像一個UIImageView,並補充說:

UIImageView *logoView = [[UIImageView alloc] initWithImage: [UIImage imageNamed:@"Logo.png"]]; 
logoView.backgroundColor = [UIColor clearColor]; 
[self.view addSubview:logoView]; 
0

這應該工作。

#import <QuartzCore/QuartzCore.h> 



logoImage = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 120, 56)]; 
logoImage.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Logo.png"]]; 
[logoImage.layer setOpaque:NO]; 
logoImage.opaque = NO; 


[self.view addSubview:logoImage]; 
0

舊的問題,但:你的透明度,例如,黑色,而不是實際上透明的任何機會?並不是說我只是做了那件事或任何事情。

(當繪圖工具欄圖標,iOS的填充任何像素,包括黑色的,有白色的,請確保實際上沒有什麼,你希望你的透明區域是。)