1. alpha
alpha是一个浮点值,取值范围0~1.0,表示从完全透明到完全不透明
alpha会影响自己的透明度,同时也会影响subView的透明度。
alpha设为空之后,NSView不会从响应者链中移除,仍然可以收到event。
更改alpha,默认是有动画效果的,这是因为图层在Cocoa中是由Core Animation中CALayer表示的,该动画效果是CALayer的隐含动画。当然也有办法禁用此动画效果。
2.opacity - CALayer的属性
CALayer中opacity是一个浮点值,取值范围0~1.0,表示从完全透明到完全不透明。
opacity会影响自己的透明度,同时也会影响subLayer的透明度。
opacity设为空之后,CALayer不会从响应者链中移除,仍然可以收到event。
3. 如何设置UIView透明,subView不透明
可以套一层view,使他们成为兄弟,而不是父子的关系
self.backView = [[NSView alloc] initWithFrame:self.view.frame];
self.backView.wantsLayer = YES;
self.backView.layer.backgroundColor = [NSColor blackColor].CGColor;
self.backView.layer.opacity = 0.4;
self.backView.layer.cornerRadius = 2.0;
self.backView.layer.masksToBounds = YES;
[self.view addSubview:self.backView];
网友评论