最近梳理項目中的Toast,發現應用的場景並不複雜,因而就本身定義了一個Toast替換以前的。 WHToast是一個輕量級的提示控件,沒有任何依賴。先來看一下效果圖。 Github地址:github.com/remember17/…git
使用方法也很是簡單,下面是使用步驟。github
若是pod找不到WHToast,先執行 pod setupide
pod 'WHToast'
// 若是pod找不到WHToast,先執行 pod setup
pod setup
複製代碼
// pod
#import <WHToast.h>
// 直接拖入文件
#import "WHToast.h"
複製代碼
每種顯示類型都有兩個方法,第一個方法默認顯示在屏幕中間,第二個方法帶有originY參數的是能夠自定義顯示位置,也就是自定義frame.origin.y。(注意:若是傳入的originY<=0,也是顯示在屏幕中間)。測試
// 顯示在頁面中間,duration表明多久以後消失
[WHToast showMessage:@"測試一下" duration:2 finishHandler:^{
NSLog(@"省略n行代碼");
}];
// 自定義frame.origin.y
[WHToast showMessage:@"測試一下" originY:200 duration:2 finishHandler:^{
NSLog(@"省略n行代碼");
}];
複製代碼
// 顯示在頁面中間,duration表明多久以後消失
[WHToast showSuccessWithMessage:@"測試一下" duration:2 finishHandler:^{
NSLog(@"省略n行代碼");
}];
// 自定義frame.origin.y
[WHToast showSuccessWithMessage:@"測試一下" originY:100 duration:2 finishHandler:^{
NSLog(@"省略n行代碼");
}];
複製代碼
// 顯示在頁面中間,duration表明多久以後消失
[WHToast showErrorWithMessage:@"測試一下" duration:2 finishHandler:^{
NSLog(@"省略n行代碼");
}];
// 自定義frame.origin.y
[WHToast showErrorWithMessage:@"測試一下" originY:200 duration
:2 finishHandler:^{
NSLog(@"省略n行代碼");
}];
複製代碼
// 顯示自定義圖片,若是message傳入nil,則只顯示圖片,duration表明多久以後消失
[WHToast showImage:[UIImage imageNamed:@"123"] message:nil duration:2 finishHandler:^{
NSLog(@"省略n行代碼");
}];
// 自定義frame.origin.y,顯示自定義圖片
[WHToast showImage:[UIImage imageNamed:@"123"] message:@"測試一下" originY:200 duration:2 finishHandler:^{
NSLog(@"省略n行代碼");
}];
複製代碼
直接使用WHToast的類方法就能夠作全局自定義設置。樣式以下。ui
/** 是否有背景遮罩,默認有 */
+ (void)setShowMask:(BOOL)showMask;
/** 遮罩顏色,默認透明 */
+ (void)setMaskColor:(UIColor *)maskColor;
/** 遮罩是否遮住導航欄,默認遮住 */
+ (void)setMaskCoverNav:(BOOL)maskCoverNav;
/** 邊距,默認12 */
+ (void)setPadding:(CGFloat)padding;
/** 提示圖片尺寸,默認(25,25)*/
+ (void)setTipImageSize:(CGSize)tipImageSize;
/** 圓角,默認7 */
+ (void)setCornerRadius:(CGFloat)cornerRadius;
/** 背景顏色,默認[UIColor colorWithWhite:0 alpha:0.8] */
+ (void)setBackColor:(UIColor *)backColor;
/** 成功/失敗 圖標顏色,默認白色 */
+ (void)setIconColor:(UIColor *)iconColor;
/** 文字顏色,默認白色 */
+ (void)setTextColor:(UIColor *)textColor;
/** 文字大小,默認15 */
+ (void)setFontSize:(CGFloat)fontSize;
/** 恢復默認配置 */
+ (void)resetConfig;
// 調用方式
[WHToast setShowMask:NO];
[WHToast setMaskColor:[UIColor colorWithWhite:0 alpha:0.6]];
[WHToast setMaskCoverNav:NO];
[WHToast setTipImageSize:CGSizeMake(50, 50)];
[WHToast setFontSize:30];
[WHToast setPadding:20];
[WHToast setCornerRadius:20];
[WHToast setIconColor:[UIColor blackColor]];
[WHToast setBackColor:[UIColor whiteColor]];
[WHToast setTextColor:[UIColor blackColor]];
複製代碼
/** 僅文字,展現在屏幕中間 */
+ (void)showMessage:(NSString *)message duration:(NSTimeInterval)duration finishHandler:(dispatch_block_t)handler;
/** 僅文字,自定義frame.origin.y 若是(originY <= 0)會展現在屏幕中間 */
+ (void)showMessage:(NSString *)message originY:(CGFloat)originY duration:(NSTimeInterval)duration finishHandler:(dispatch_block_t)handler;
/** 成功圖標和文字,展現在屏幕中間 */
+ (void)showSuccessWithMessage:(NSString *)message duration:(NSTimeInterval)duration finishHandler:(dispatch_block_t)handler;
/** 成功圖標和文字,自定義frame.origin.y 若是(originY <= 0)會展現在屏幕中間 */
+ (void)showSuccessWithMessage:(NSString *)message originY:(CGFloat)originY duration:(NSTimeInterval)duration finishHandler:(dispatch_block_t)handler;
/** 失敗圖標和文字,展現在屏幕中間 */
+ (void)showErrorWithMessage:(NSString *)message duration:(NSTimeInterval)duration finishHandler:(dispatch_block_t)handler;
/** 失敗圖標和文字,自定義frame.origin.y 若是(originY <= 0)會展現在屏幕中間 */
+ (void)showErrorWithMessage:(NSString *)message originY:(CGFloat)originY duration:(NSTimeInterval)duration finishHandler:(dispatch_block_t)handler;
/** 自定義圖片和文字,展現在屏幕中間。 若是message傳入nil,則只顯示圖片 */
+ (void)showImage:(UIImage *)image message:(NSString *)message duration:(NSTimeInterval)duration finishHandler:(dispatch_block_t)handler;
/** 自定義圖片和文字,自定義frame.origin.y 若是(originY <= 0)會展現在屏幕中間。若是message傳入nil,則只顯示圖片 */
+ (void)showImage:(UIImage *)image message:(NSString *)message originY:(CGFloat)originY duration:(NSTimeInterval)duration finishHandler:(dispatch_block_t)handler;
/** 主動消失 */
+ (void)hide;
/******************************************************/
/****************** 設置全局樣式 **********************/
/******************************************************/
/** 是否有背景遮罩,默認有 */
+ (void)setShowMask:(BOOL)showMask;
/** 遮罩顏色,默認透明 */
+ (void)setMaskColor:(UIColor *)maskColor;
/** 遮罩是否遮住導航欄,默認遮住 */
+ (void)setMaskCoverNav:(BOOL)maskCoverNav;
/** 邊距,默認12 */
+ (void)setPadding:(CGFloat)padding;
/** 提示圖片尺寸,默認(25,25)*/
+ (void)setTipImageSize:(CGSize)tipImageSize;
/** 圓角,默認7 */
+ (void)setCornerRadius:(CGFloat)cornerRadius;
/** 背景顏色,默認[UIColor colorWithWhite:0 alpha:0.8] */
+ (void)setBackColor:(UIColor *)backColor;
/** 成功/失敗 圖標顏色,默認白色 */
+ (void)setIconColor:(UIColor *)iconColor;
/** 文字顏色,默認白色 */
+ (void)setTextColor:(UIColor *)textColor;
/** 文字大小,默認15 */
+ (void)setFontSize:(CGFloat)fontSize;
/** 恢復默認配置 */
+ (void)resetConfig;
複製代碼
✨✨✨github.com/remember17/…spa
個人GitHub:github.com/remember17code