Градиентная маска на UIView - PullRequest
       3

Градиентная маска на UIView

15 голосов
/ 22 сентября 2011

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

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

1 Ответ

32 голосов
/ 22 сентября 2011

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

PS Вам также необходимо связать QuartzCore.framework с вашим приложениемзаставить вещи работать.

...