UIView上的渐变面具

Egi*_*gil 15 iphone cocoa-touch core-animation uikit

我有一个UIView,并希望它的底部淡出为0不透明度.

可以这样做到UIView(CALayer)以影响整个UIView及其内容吗?

Vla*_*mir 32

是的,你可以通过设置CAGradientLayer为视图的图层蒙版来实现:

#import <QuartzCore/QuartzCore.h>

...

CAGradientLayer *maskLayer = [CAGradientLayer layer];

maskLayer.frame = view.bounds;
maskLayer.colors = @[(id)[UIColor whiteColor].CGColor, (id)[UIColor clearColor].CGColor];
maskLayer.startPoint = CGPointMake(0.5, 0);
maskLayer.endPoint = CGPointMake(0.5, 1.0);

view.layer.mask = maskLayer;
Run Code Online (Sandbox Code Playgroud)

PS您还需要链接QuartzCore.framework到您的应用程序以使工作正常.