将CAGradientLayer当做mask使用
生活随笔
收集整理的這篇文章主要介紹了
将CAGradientLayer当做mask使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
將CAGradientLayer當做mask使用
?
效果
?
源碼
https://github.com/YouXianMing/Animations
// // CAGradientView.h // MaskView // // Created by YouXianMing on 16/2/15. // Copyright ? 2016年 YouXianMing. All rights reserved. // #import <UIKit/UIKit.h>@interface CAGradientView : UIView/*** CAGradientLayer's colors.*/ @property (nonatomic, strong) NSArray *colors;/*** CAGradientLayer's locations.*/ @property (nonatomic, strong) NSArray *locations;/*** CAGradientLayer's startPoint.*/ @property (nonatomic) CGPoint startPoint;/*** CAGradientLayer's endPoint.*/ @property (nonatomic) CGPoint endPoint;@end // // CAGradientView.m // MaskView // // Created by YouXianMing on 16/2/15. // Copyright ? 2016年 YouXianMing. All rights reserved. // #import "CAGradientView.h"@interface CAGradientView () {CAGradientLayer *_gradientLayer; }@end@implementation CAGradientView+ (Class)layerClass {return [CAGradientLayer class]; }- (instancetype)initWithFrame:(CGRect)frame {if (self = [super initWithFrame:frame]) {_gradientLayer = (CAGradientLayer *)self.layer;}return self; }#pragma mark - 重寫setter,getter方法@synthesize colors = _colors;- (void)setColors:(NSArray *)colors {_colors = colors;// 將color轉換成CGColorNSMutableArray *cgColors = [NSMutableArray array];for (UIColor *tmp in colors) {id cgColor = (__bridge id)tmp.CGColor;[cgColors addObject:cgColor];}// 設置Colors_gradientLayer.colors = cgColors; }- (NSArray *)colors {return _colors; }@synthesize locations = _locations;- (void)setLocations:(NSArray *)locations {_locations = locations;_gradientLayer.locations = _locations; }- (NSArray *)locations {return _locations; }@synthesize startPoint = _startPoint;- (void)setStartPoint:(CGPoint)startPoint {_startPoint = startPoint;_gradientLayer.startPoint = startPoint; }- (CGPoint)startPoint {return _startPoint; }@synthesize endPoint = _endPoint;- (void)setEndPoint:(CGPoint)endPoint {_endPoint = endPoint;_gradientLayer.endPoint = endPoint; }- (CGPoint)endPoint {return _endPoint; }@end?
細節
?
轉載于:https://www.cnblogs.com/YouXianMing/p/5193840.html
總結
以上是生活随笔為你收集整理的将CAGradientLayer当做mask使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: safehandle 和析构函数
- 下一篇: Linux文件锁flock