標籤:標題 ssi erro 底部 mat 狀態 val fill 資訊
FFToast是一個非常強大的iOS message notifications和AlertView擴充。它可以很容易實現從螢幕頂部、螢幕底部和螢幕中間彈出一個通知。你可以很容易的自訂彈出的View.
GitHub連結:https://github.com/imlifengfeng/FFToast
要求
特點
安裝CocoaPods
要使用CocoaPods安裝FFToast,請將其整合到您現有的Podfile中,或建立一個新的Podfile:
target ‘MyApp‘ do pod ‘FFToast‘end
然後 pod install
.
手動
將FFToast檔案夾添加到項目中
使用方法
#import <FFToast/FFToast.h>
你可以通過調用下面的方法建立一個顯示在頂部的預設效果的訊息通知:
/** 建立並顯示一個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:
typedef NS_ENUM(NSInteger, FFToastType) { //灰色背景、無表徵圖 FFToastTypeDefault = 0, //綠色背景+成功表徵圖 FFToastTypeSuccess = 1, //紅色背景+錯誤表徵圖 FFToastTypeError = 2, //橙色背景+警告圖示 FFToastTypeWarning = 3, //灰藍色背景+資訊表徵圖 FFToastTypeInfo = 4,};
例如:
[FFToast showToastWithTitle:@"標題" message:@"訊息內容......." iconImage:[UIImage imageNamed:@"test"] duration:3 toastType:FFToastTypeDefault];
標題(title)、訊息內容(message)、表徵圖(iconImage)均可以為nil,FFToast會根據具體的內容進行自適應。
如果想在狀態列下方、螢幕下方或者螢幕中間顯示訊息通知,可以通過設定一些屬性實現。
設定顯示位置:
typedef NS_ENUM(NSInteger, FFToastPosition) { //顯示在螢幕頂部 FFToastPositionDefault = 0, //顯示在狀態列下方 FFToastPositionBelowStatusBar = 1, //顯示在狀態列下方+圓角+左右邊距 FFToastPositionBelowStatusBarWithFillet = 2, //顯示在螢幕底部 FFToastPositionBottom = 3, //顯示在螢幕底部+圓角 FFToastPositionBottomWithFillet = 4, //顯示在螢幕中間 FFToastPositionCentre = 5, //顯示在螢幕中間+圓角 FFToastPositionCentreWithFillet = 6};
其他的一些屬性:
//背景顏色@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
許可
該項目在 <a href="http://opensource.org/licenses/MIT" target="_blank">MIT</a> 許可協議下使用. 有關詳細資料,請參閱 LICENSE.
GitHub中最強大的iOS Notifications和AlertView架構,沒有之一!