2012-03-12 101 views
0

我有主視圖,我添加了子視圖。我將子視圖的背景設置爲半透明,但子視圖以純色繪製。我甚至嘗試將不透明設置爲NO。iPhone子視圖可以透明嗎?

detailsView.opaque = NO; 
detailsView.backgroundColor = UIColorMakeRGBA(0, 0, 100, 100); 

我可以讓vsubview是通過alpha屬性透明(但子視圖所有的東西也將是透明的),但我真的想只是設置背景色爲半透明。

+0

UIColorMakeRGBA是你定義的函數嗎?如果是的話,你可以發佈其代碼或確認它看起來像我的答案中的代碼? – sch 2012-03-12 16:02:28

+0

是的,它是用戶定義的功能,你不是我......問題是我認爲阿爾法也是由255分開。 – MegaManX 2012-03-12 16:12:12

回答

2

設置alpha到所需的值在colorWithRed:green:blue:alpha method

detailsView.backgroundColor = [UIColor colorWithRed:0/255.0f 
               green:30/255.0f 
               blue:160/255.0f 
               alpha:0.5f]; 
1

我不知道UIColorMakeRGBA功能,但它看起來像你對我創建的是一個藍色與1α,所以它不應該是透明。嘗試設置背景顏色線是

detailsView.backgroundColor = UIColorMakeRGBA(0, 0, 100, 50); 

或者只是使用[[UIColor blueColor] colorWithAlphaComponent:0.5f];

1

我認爲UIColorMakeRGBA是,你已經實現的功能。在這種情況下,我相信,它看起來像這樣:

#define UIColorMakeRGBA(redValue, greenValue, blueValue, alphaValue) [UIColor colorWithRed:(redValue)/255.0f green:(greenValue)/255.0f blue:(blueValue)/255.0f alpha:(alphaValue)] 

注意,阿爾法沒有被255.0分,所以你應該0.01.0爲參數,而不是100之間使用的值。如果你使用100,你將會得到一個alpha值等於1.0的顏色。

detailsView.backgroundColor = UIColorMakeRGBA(0, 0, 100, 0.5f);