zl程序教程

您现在的位置是:首页 >  其它

当前栏目

[控件] AngleGradientView

控件
2023-09-14 08:57:16 时间
* @param colors 颜色数组(CGColor) * @param locations 颜色分割点数组(范围取值为[0, 1], 渐变递增,需要包含0与1这两个点) * @return 创建好的带环形渐变的view - (instancetype)initWithFrame:(CGRect)frame withCGColors:(NSArray *)colors withLocations:(NSArray *)locations;
+ (instancetype)gradientViewWithFrame:(CGRect)frame gradientType:(EAngleGradientType)type;
- (instancetype)initWithFrame:(CGRect)frame { return [self initWithFrame:frame withCGColors:nil withLocations:nil]; - (instancetype)initWithFrame:(CGRect)frame withCGColors:(NSArray *)colors withLocations:(NSArray *)locations { self = [super initWithFrame:frame]; if (self) { _angleGradientLayer = (AngleGradientLayer *)self.layer; if (colors != nil) { _angleGradientLayer.colors = colors; _angleGradientLayer.locations = locations; return self; + (instancetype)gradientViewWithFrame:(CGRect)frame gradientType:(EAngleGradientType)type { NSMutableArray *colors = nil; NSMutableArray *locations = nil; AngleGradientView *angleGradientView = nil;
colors = [[NSMutableArray alloc] initWithCapacity:16]; [colors addObject:(id)[UIColor colorWithWhite:0.65 alpha:1].CGColor]; [colors addObject:(id)[UIColor colorWithWhite:0.9 alpha:1].CGColor]; [colors addObject:(id)[UIColor colorWithWhite:0.75 alpha:1].CGColor]; [colors addObject:(id)[UIColor colorWithWhite:0.35 alpha:1].CGColor]; [colors addObject:(id)[UIColor colorWithWhite:0.75 alpha:1].CGColor]; [colors addObject:(id)[UIColor colorWithWhite:0.9 alpha:1].CGColor]; [colors addObject:(id)[UIColor colorWithWhite:0.75 alpha:1].CGColor]; [colors addObject:(id)[UIColor colorWithWhite:0.35 alpha:1].CGColor]; [colors addObject:(id)[UIColor colorWithWhite:0.55 alpha:1].CGColor]; [colors addObject:(id)[UIColor colorWithWhite:0.65 alpha:1].CGColor]; } else if (type == GradientMetalTypeTwo) { colors = [[NSMutableArray alloc] initWithCapacity:16]; locations = [[NSMutableArray alloc] initWithCapacity:16]; [colors addObject:(id)[UIColor colorWithRed:0 green:0 blue:0 alpha:1].CGColor]; [colors addObject:(id)[UIColor colorWithRed:1 green:1 blue:1 alpha:1].CGColor]; [locations addObject:[NSNumber numberWithInt:0]]; [locations addObject:[NSNumber numberWithInt:1]]; } else if (type == GradientRainbow) { colors = [[NSMutableArray alloc] initWithCapacity:16]; [colors addObject:(id)[UIColor colorWithRed:1 green:0 blue:0 alpha:1].CGColor]; [colors addObject:(id)[UIColor colorWithRed:1 green:1 blue:0 alpha:1].CGColor]; [colors addObject:(id)[UIColor colorWithRed:0 green:1 blue:0 alpha:1].CGColor]; [colors addObject:(id)[UIColor colorWithRed:0 green:1 blue:1 alpha:1].CGColor]; [colors addObject:(id)[UIColor colorWithRed:0 green:0 blue:1 alpha:1].CGColor]; [colors addObject:(id)[UIColor colorWithRed:1 green:0 blue:1 alpha:1].CGColor]; [colors addObject:(id)[UIColor colorWithRed:1 green:0 blue:0 alpha:1].CGColor]; angleGradientView = [[AngleGradientView alloc] initWithFrame:frame withCGColors:colors withLocations:locations]; return angleGradientView; @end