我有主视图,我添加了子视图。我将子视图的背景设置为半透明,但子视图以纯色绘制。我甚至尝试将不透明设置为NO。
detailsView.opaque = NO;
detailsView.backgroundColor = UIColorMakeRGBA(0, 0, 100, 100);
我可以通过alpha属性使vsubview变得透明(但子视图上的所有内容也都是透明的),但我真的只想将背景颜色设置为半透明。
答案 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.0
和1.0
之间为该参数使用值,而不是100
。如果您使用100,则最终会得到alpha等于1.0
的颜色。
detailsView.backgroundColor = UIColorMakeRGBA(0, 0, 100, 0.5f);