我想制作一个带有alpha和标签的UIView。
但我希望UILabel能像这样:
怎么做?
这里是代码:
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor redColor];
UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectMake(20, 20, 200, 20)];
lbl.text = @"AAAAAA";
lbl.backgroundColor = [UIColor clearColor];
UIView *v = [[UIView alloc] initWithFrame:CGRectMake(50, 210, 230, 50)];
v.backgroundColor = [UIColor greenColor];
v.alpha = 0.5;
[v addSubview:lbl];
[self.view addSubview:v];
}
绿色视图是alpha 0.5 ...就像文字一样,这是错误的!
感谢。
答案 0 :(得分:13)
不要设置整个视图的alpha,只需将背景颜色设置为透明的颜色即可。
所以改变这个:
v.backgroundColor = [UIColor greenColor];
v.alpha = 0.5;
对此:
v.backgroundColor = [UIColor colorWithRed:0 green:1 blue:0 alpha:0.5];
答案 1 :(得分:2)
如果要使用内置颜色,请参阅colorWithAlphaComponent:
accessoryView.backgroundColor = [[UIColor grayColor] colorWithAlphaComponent:0.4];
答案 2 :(得分:0)
在XCode 4 Interface Builder中,您可以通过单击视图的Background属性,单击&#34; Other&#34;,然后在出现的颜色选择器中选择颜色和不透明度值来实现此目的。< / p>