GradientCategory
使用category實現gradient
簡介
本例主要採用了類別來實現了給按鈕設置漸變色的功能
當然,裏邊也有一些別的對比實現方法.
各位看官如有發現什麼bug,請批評指正!
效果圖
來看.h
文件
#import <UIKit/UIKit.h>
typedef NS_ENUM(NSInteger, GradientType) {
GradientFromTopToBottom = 1, //從上到下
GradientFromLeftToRight, //從做到右
GradientFromLeftTopToRightBottom, //從上到下
GradientFromLeftBottomToRightTop //從上到下
};
@interface UIImage (Gradient)
/**
* 根據給定的顏色,生成漸變色的圖片
* @param imageSize 要生成的圖片的大小
* @param colorArr 漸變顏色的數組
* @param percents 漸變顏色的佔比數組
* @param gradientType 漸變色的類型
*/
- (UIImage *)createImageWithSize:(CGSize)imageSize gradientColors:(NSArray *)colorArr percentage:(NSArray *)percents gradientType:(GradientType)gradientType;
@end
#import <UIKit/UIKit.h>
#import "UIImage+Gradient.h"
@interface UIButton (Gradient)
/**
* 根據給定的顏色,設置按鈕的顏色
* @param btnSize 這裏要求手動設置下生成圖片的大小,防止coder使用第三方layout,沒有設置大小
* @param clrs 漸變顏色的數組
* @param percent 漸變顏色的佔比數組
* @param type 漸變色的類型
*/
- (UIButton *)gradientButtonWithSize:(CGSize)btnSize colorArray:(NSArray *)clrs percentageArray:(NSArray *)percent gradientType:(GradientType)type;
@end
實現
請大家移步Github
如果感覺有幫到您,麻煩給個star,謝謝!