我有一个UIView,并且希望它的底部逐渐变暗为0。

可以对UIView(CALayer)进行此操作以影响整个UIView及其内容吗?

最佳答案

是的,您可以通过将 CAGradientLayer 设置为 View 的图层蒙版来实现:

#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;

P.S.您还需要将QuartzCore.framework链接到您的应用程序,以使一切正常。

10-08 12:58