iPhone可以透视吗?

时间:2012-03-12 15:33:51

标签: iphone uiview opacity

我有主视图,我添加了子视图。我将子视图的背景设置为半透明,但子视图以纯色绘制。我甚至尝试将不透明设置为NO。

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

我可以通过alpha属性使vsubview变得透明(但子视图上的所有内容也都是透明的),但我真的只想将背景颜色设置为半透明。

3 个答案:

答案 0 :(得分: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 :(得分:1)

我不知道UIColorMakeRGBA函数,但在我看来,你正在创建一个alpha为1的完全蓝色,所以它不应该是透明的。尝试将背景颜色线设置为

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

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

答案 2 :(得分:1)

我认为UIColorMakeRGBA是您已实施的功能。在这种情况下,我确信,它看起来像这样:

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

请注意,alpha不会被255.0除,因此您应该在0.01.0之间为该参数使用值,而不是100。如果您使用100,则最终会得到alpha等于1.0的颜色。

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