有时,我们会遇到这样的需求:背景颜色模糊化,一般我们会设置背景图alpha
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
self.view.alpha = 0;
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 200, 200)];
view.backgroundColor = [UIColor redColor];
[self.view addSubview:view];
}
很容易,但如果像上面那样写,如果控件是独立的没什么区别,但如果上面加有子视图,就会把子视图也一并设置,这并不是我们想要的效果,那么我们可以通过下面来实现,一句代码,轻松实现
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [[UIColor whiteColor] colorWithAlphaComponent:0];
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 200, 200)];
view.backgroundColor = [UIColor redColor];
[self.view addSubview:view];
}
在UI设计中,有时需要使背景模糊并保持子视图清晰。通常设置父视图的透明度会影响所有子视图。本文介绍一种方法,只需一行代码,即可实现父视图透明而子视图保持不透明的效果。
282

被折叠的 条评论
为什么被折叠?



