FFToast是一個很是強大的iOS message notifications和AlertView擴展。它能夠很容易實現從屏幕頂部、屏幕底部和屏幕中間彈出一個通知。你能夠很容易的自定義彈出的View.
GitHub連接:https://github.com/imlifengfeng/FFToastgit
要使用CocoaPods安裝FFToast,請將其集成到您現有的Podfile中,或建立一個新的Podfile:github
target 'MyApp' do pod 'FFToast' end
而後 pod install
.字體
將FFToast文件夾添加到項目中動畫
#import <FFToast/FFToast.h>
你能夠經過調用下面的方法建立一個顯示在頂部的默認效果的消息通知:atom
/** 建立並顯示一個Toast @param title 標題 @param message 消息內容 @param iconImage 消息icon,toastType不爲FFToastTypeDefault時iconImage爲空仍然會有相應icon @param duration 顯示時長 */ + (void)showToastWithTitle:(NSString *)title message:(NSString *)message iconImage:(UIImage*)iconImage duration:(NSTimeInterval)duration toastType:(FFToastType)toastType;
其中的toastType:spa
typedef NS_ENUM(NSInteger, FFToastType) { //灰色背景、無圖標 FFToastTypeDefault = 0, //綠色背景+成功圖標 FFToastTypeSuccess = 1, //紅色背景+錯誤圖標 FFToastTypeError = 2, //橙色背景+警告圖標 FFToastTypeWarning = 3, //灰藍色背景+信息圖標 FFToastTypeInfo = 4, };
例如:code
[FFToast showToastWithTitle:@"標題" message:@"消息內容......." iconImage:[UIImage imageNamed:@"test"] duration:3 toastType:FFToastTypeDefault];
標題(title)、消息內容(message)、圖標(iconImage)都可覺得nil,FFToast會根據具體的內容進行自適應。blog
若是想在狀態欄下方、屏幕下方或者屏幕中間顯示消息通知,能夠經過設置一些屬性實現。
設置顯示位置:圖片
typedef NS_ENUM(NSInteger, FFToastPosition) { //顯示在屏幕頂部 FFToastPositionDefault = 0, //顯示在狀態欄下方 FFToastPositionBelowStatusBar = 1, //顯示在狀態欄下方+圓角+左右邊距 FFToastPositionBelowStatusBarWithFillet = 2, //顯示在屏幕底部 FFToastPositionBottom = 3, //顯示在屏幕底部+圓角 FFToastPositionBottomWithFillet = 4, //顯示在屏幕中間 FFToastPositionCentre = 5, //顯示在屏幕中間+圓角 FFToastPositionCentreWithFillet = 6 };
其餘的一些屬性:get
//背景顏色 @property (strong, nonatomic) UIColor* toastBackgroundColor; //Toast標題文字顏色 @property (strong, nonatomic) UIColor* titleTextColor; //Toast內容文字顏色 @property (strong, nonatomic) UIColor* messageTextColor; //Toast標題文字字體 @property (strong, nonatomic) UIFont* titleFont; //Toast文字字體 @property (strong, nonatomic) UIFont* messageFont; //Toast View圓角 @property(assign,nonatomic)CGFloat toastCornerRadius; //Toast View透明度 @property(assign,nonatomic)CGFloat toastAlpha; //Toast顯示時長 @property(assign,nonatomic)NSTimeInterval duration; //Toast消失動畫是否啓用 @property(assign,nonatomic)BOOL dismissToastAnimated; //Toast顯示位置 @property (assign, nonatomic) FFToastPosition toastPosition; //Toast顯示類型 @property (assign, nonatomic) FFToastType toastType; //是否自動隱藏,autoDismiss、enableDismissBtn、dismissBtnImage三個屬性僅對從屏幕中間彈出的Toast有效 @property(assign,nonatomic)BOOL autoDismiss; //是否在右上角顯示隱藏按鈕 @property(assign,nonatomic)BOOL enableDismissBtn; //隱藏按鈕的圖標 @property (strong, nonatomic) UIImage* dismissBtnImage;
設置完屬性後,就能夠調用下面方法將其顯示出來:
/** 顯示一個Toast */ - (void)show;
或者:
/** 顯示一個Toast @param handler Toast點擊回調 */ - (void)show:(handler)handler;
例如:
FFToast *toast = [[FFToast alloc]initToastWithTitle:@"標題" message:@"消息內容......." iconImage:[UIImage imageNamed:@"fftoast_info"]]; toast.toastPosition = FFToastPositionBelowStatusBarWithFillet; toast.toastBackgroundColor = [UIColor colorWithRed:75.f/255.f green:107.f/255.f blue:122.f/255.f alpha:1.f]; [toast show:^{ //點擊消息通知時調用 }];//[toast show];
若是你想自定義一個從中間彈出的Toast,能夠調用下面的方法:
/** 在中間顯示一個自定義Toast @param customToastView 自定義的ToastView @param autoDismiss 是否自動隱藏 @param duration 顯示時長(autoDismiss = NO時該參數將無效) @param enableDismissBtn 是否顯示隱藏按鈕 @param dismissBtnImage 隱藏按鈕圖片(enableDismissBtn = NO時該參數將無效) @return Toast */ - (instancetype)initCentreToastWithView:(UIView *)customToastView autoDismiss:(BOOL)autoDismiss duration:(NSTimeInterval)duration enableDismissBtn:(BOOL)enableDismissBtn dismissBtnImage:(UIImage*)dismissBtnImage;
你在自定義從中間彈出的Toast時,你能夠將上面的參數autoDismiss和參數enableDismissBtn設爲NO。而後在你自定義的View中本身在合適的位置添加一個關閉按鈕。
關閉從中間彈出的Toast,能夠調用下面的方法:
/** 隱藏一個Toast */ - (void)dismissCentreToast;
頂部、底部彈出的Toast不可自定義View,可是對於iconImage、Title、message都可以根據須要設置而且能夠爲nil,最終Toast會根據具體的內容進行自適應。
隱藏消息通知:
默認3秒後自動消失,向上滑動彈出的消息通知它也會消失。
做者:
imlifengfeng
微博:
@imlifengfeng