利用Objective-C仿製Android中的Toast製作一個簡易的訊息提示框,Toast彈出提示框顯示文字,Toast會根據使用者設定的顯示時間後自動消失。可以到github下載ToastDemo看具體程式碼。
工具/原料
Mac作業系統:OS X 10.11
編譯環境:Xcode 7.3
方法/步驟
建立工程專案和檢視控制器
建立一個single view工程專案,自動建立一個ViewController試圖控制器。
建立一個Toast類檔案
建立資原始檔Cocoa Touch Class,下一步選擇繼承於NSObject,名字為Toast檔案。
編輯Toast.h檔案
包含UIKit框架,因為需要用到UILabel;
宣告定義一個ToastLabel物件;
宣告ToastLabel和NSTimer做顯示和定時使用;
宣告一個單例方法;
宣告一個使用Toast方法。
實現ToastLabel物件類
@implementation ToastLabel ~ @end;
ToastLabel初始化,為label設定各種屬性;
設定顯示的文字label.text屬性,並且自適應寬高。
實現Toast物件類
@implementation Toast ~ @end;
實現宣告單例方法 + (instancetype)shareInstance;
Toast初始化,例項化ToastLabel和NSTimer;
彈出並顯示Toast,文字:message、時間:duration;
實現定時器方法,定時移除Toast顯示。
使用方法
1.包含標頭檔案: #import "Toast.h"
2.使用單例,呼叫方法: [[Toast shareInstance] makeToast:@"Toast提示框" duration:3.0];
注意事項
使用的前提是[[UIApplication sharedApplication]keyWindow]已經載入了,不然是不會彈出Toast的。