使用前面的UIlabel创建alpha UIView

时间:2011-03-08 14:54:58

标签: iphone objective-c uiview

我想制作一个带有alpha和标签的UIView。

enter image description here

但我希望UILabel能像这样:

enter image description here

怎么做?

这里是代码:

- (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 ...就像文字一样,这是错误的!

感谢。

3 个答案:

答案 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>