需求是這樣的:一個半透明的背景圖,上面添加不透明的子視圖,在這個子視圖上面再添加一個半透明的試圖。而往往,設(shè)置背景圖的alpha值之后,子視圖也會變得透明。這就需要特殊處理一下。
類似下圖的效果:

實現(xiàn)這種效果,就不能直接通過setAlpha來設(shè)置alpha值。而是要通過colorWithAlphaComponent,如:[[UIColor blackColor] colorWithAlphaComponent:0.5];
效果圖實現(xiàn)的代碼:
- <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>
|