使用前面的UIlabel创建alpha UIView

elp*_*elp 4 iphone objective-c uiview

我想制作一个带有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];

}
Run Code Online (Sandbox Code Playgroud)

绿色视图与alpha 0.5 ...像文本一样,这是错误的!

谢谢.

the*_*ent 13

只需将背景颜色设置为具有透明度的颜色,而不是设置整个视图的alpha.

所以改变这个:

v.backgroundColor = [UIColor greenColor];
v.alpha = 0.5;
Run Code Online (Sandbox Code Playgroud)

对此:

v.backgroundColor = [UIColor colorWithRed:0 green:1 blue:0 alpha:0.5];
Run Code Online (Sandbox Code Playgroud)