Iphone 创建前面带有UIlabel的alpha UIView

Iphone 创建前面带有UIlabel的alpha UIView,iphone,objective-c,uiview,Iphone,Objective C,Uiview,我想做一个UIView,带有alpha和标签 但我想让UILabel像这样出现在大家面前: 怎么做 代码如下: - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor redColor]; UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectMake(20, 20, 200, 20)]; lbl.text = @"AA

我想做一个UIView,带有alpha和标签

但我想让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。。。喜欢文本,这是错误的


谢谢。

不要设置整个视图的alpha,只需将背景颜色设置为具有透明度的颜色即可

因此,改变这一点:

v.backgroundColor = [UIColor greenColor];
v.alpha = 0.5;
为此:

v.backgroundColor = [UIColor colorWithRed:0 green:1 blue:0 alpha:0.5];

如果要使用内置颜色,请参见colorWithAlphaComponent:

accessoryView.backgroundColor = [[UIColor grayColor] colorWithAlphaComponent:0.4];

在XCode 4界面生成器中,您可以通过单击视图的背景属性,单击“其他”,并在出现的颜色选择器中选择颜色和不透明度值来实现此目的。

@Paska当您设置整个视图的alpha时,标签是该视图的一部分,因此也设置了alpha。仅设置视图背景色的alpha时,标签不受影响。