Маска градиента на UIView

У меня есть UIView и хочу, чтобы нижняя часть его исчезла до 0 непрозрачности.

Можно ли сделать это с UIView (CALayer), чтобы повлиять на весь UIView и его контент?

Ответы

Ответ 1

Да, вы можете сделать это, установив 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;

P.S. Вам также необходимо связать QuartzCore.framework с вашим приложением, чтобы все могло сработать.