GitHub中最強大的iOS Notifications和AlertView架構,沒有之一!

來源:互聯網
上載者:User

標籤:標題   ssi   erro   底部   mat   狀態   val   fill   資訊   

FFToast是一個非常強大的iOS message notifications和AlertView擴充。它可以很容易實現從螢幕頂部、螢幕底部和螢幕中間彈出一個通知。你可以很容易的自訂彈出的View.
GitHub連結:https://github.com/imlifengfeng/FFToast

要求
  • 支援iOS 8或更高版本
  • 支援ARC
特點
  • 簡單易用
  • 可以很容易自訂
安裝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架構,沒有之一!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.