如何使子视图保持不透明

时间:2012-05-11 05:40:07

标签: objective-c

从某种意义上说,我遇到了麻烦:

我创建一个UIView并将alpha值设置为0.5,然后添加一个alpha值为1的子视图,当我运行app时,子视图也变得透明,如何保持子视图不透明? / p>

谢谢!

1 个答案:

答案 0 :(得分:5)

正如您所注意到的,在父视图上设置alpha也会影响所有子视图。我所做的就是保留alpha,并使用带有alpha的背景颜色作为父视图,使用不透明的背景颜色作为子视图。

例如,在某些随机视图控制器中:

UIView *transparentView = [[UIView alloc] initWithFrame:self.view.bounds];
transparentView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5];

UIView *opaqueView = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 200, 200)];
opaqueView.backgroundColor = [UIColor whiteColor];
[transparentView addSubview:opaqueView];
[self.view addSubview:transparentView];