需求是这样的:一个半透明的背景图,上面添加不透明的子视图,在这个子视图上面再添加一个半透明的试图。而往往,设置背景图的alpha值之后,子视图也会变得透明。这就需要特殊处理一下。
类似下图的效果:

实现这种效果,就不能直接通过setAlpha来设置alpha值。而是要通过colorWithAlphaComponent,如:[[UIColor blackColor] colorWithAlphaComponent:0.5];
效果图实现的代码:
- <span style="font-family:KaiTi_GB2312;font-size:18px;"> UIView *view = [[UIView alloc] initWithFrame:CGRectMake(10, 200, 300, 300)];
- view.backgroundColor = [[UIColor redColor] colorWithAlphaComponent:0.5];
- [self.view addSubview:view];
-
- UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(30, 30, 240, 240)];
- imageView.image = [UIImage imageNamed:@"11.jpg"];
- [view addSubview:imageView];
-
- UIView *subView = [[UIView alloc] initWithFrame:CGRectMake(30, 30, 180, 180)];
- subView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5];
- [imageView addSubview:subView];</span>
|