iOS漸變按鈕Gradient Button的實現

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,謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章