MBProgressHUD
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
MBProgressHUD是一個(gè)開(kāi)源項(xiàng)目,實(shí)現(xiàn)了很多種樣式的提示框,使用上簡(jiǎn)單、方便,并且可以對(duì)顯示的內(nèi)容進(jìn)行自定義,功能很強(qiáng)大,很多項(xiàng)目中都有使用到。到GitHub上可以下載到項(xiàng)目源碼 https://github.com/jdg/MBProgressHUD,下載下來(lái)后直接把MBProgressHUD.h和MBProgressHUD.m拖入工程中就行,別忘了選擇拷貝到工程。完了在需要使用的地方導(dǎo)入頭文件就可以開(kāi)始使用了。首先看下工程截圖:
接下來(lái)是整個(gè)Demo的完整界面,這里我只選擇出了幾個(gè)常用的對(duì)話框,其他樣式的在源碼提供的Demo里可以找到,要用的話直接參考就可以。
? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???
接下來(lái)直接上代碼了,頭文件部分:
#import?<UIKit/UIKit.h> #import?"MBProgressHUD.h"@interface?ViewController?:?UIViewController {//HUD(Head-Up?Display,意思是抬頭顯示的意思)MBProgressHUD?*HUD; }-?(IBAction)showTextDialog:(id)sender; -?(IBAction)showProgressDialog:(id)sender; -?(IBAction)showProgressDialog2:(id)sender; -?(IBAction)showCustomDialog:(id)sender; -?(IBAction)showAllTextDialog:(id)sender;@end
實(shí)現(xiàn)文件(按鈕實(shí)現(xiàn)部分):
-?(IBAction)showTextDialog:(id)sender?{//初始化進(jìn)度框,置于當(dāng)前的View當(dāng)中HUD?=?[[MBProgressHUD?alloc]?initWithView:self.view];[self.view?addSubview:HUD];//如果設(shè)置此屬性則當(dāng)前的view置于后臺(tái)HUD.dimBackground?=?YES;//設(shè)置對(duì)話框文字HUD.labelText?=?@"請(qǐng)稍等";//顯示對(duì)話框[HUD?showAnimated:YES?whileExecutingBlock:^{//對(duì)話框顯示時(shí)需要執(zhí)行的操作sleep(3);?//?睡眠3秒}?completionBlock:^{//操作執(zhí)行完后取消對(duì)話框[HUD?removeFromSuperview];HUD?=?nil;}]; }-?(IBAction)showProgressDialog:(id)sender?{HUD?=?[[MBProgressHUD?alloc]?initWithView:self.view];[self.view?addSubview:HUD];HUD.labelText?=?@"正在加載";//設(shè)置模式為進(jìn)度框形的HUD.mode?=?MBProgressHUDModeDeterminate;[HUD?showAnimated:YES?whileExecutingBlock:^{float?progress?=?0.0f;while?(progress?<?1.0f)?{progress?+=?0.01f;HUD.progress?=?progress;usleep(50000);?//睡眠50000微秒=50毫秒,一共循環(huán)100次睡眠時(shí)間為5秒}}?completionBlock:^{[HUD?removeFromSuperview];HUD?=?nil;}]; }-?(IBAction)showProgressDialog2:(id)sender?{HUD?=?[[MBProgressHUD?alloc]?initWithView:self.view];[self.view?addSubview:HUD];HUD.labelText?=?@"正在加載";HUD.mode?=?MBProgressHUDModeAnnularDeterminate;?//環(huán)形進(jìn)度框[HUD?showAnimated:YES?whileExecutingBlock:^{float?progress?=?0.0f;while?(progress?<?1.0f)?{progress?+=?0.01f;HUD.progress?+=?progress;usleep(50000);}}?completionBlock:^{[HUD?removeFromSuperview];HUD?=?nil;}]; }-?(IBAction)showCustomDialog:(id)sender?{HUD?=?[[MBProgressHUD?alloc]?initWithView:self.view];[self.view?addSubview:HUD];HUD.labelText?=?@"操作成功";HUD.mode?=?MBProgressHUDModeCustomView;HUD.customView?=?[[UIImageView?alloc]?initWithImage:[UIImage?imageNamed:@"Checkmark"]];[HUD?showAnimated:YES?whileExecutingBlock:^{sleep(2);}?completionBlock:^{[HUD?removeFromSuperview];HUD?=?nil;}]; }-?(IBAction)showAllTextDialog:(id)sender?{HUD?=?[[MBProgressHUD?alloc]?initWithView:self.view];[self.view?addSubview:HUD];HUD.labelText?=?@"操作成功";HUD.mode?=?MBProgressHUDModeText;?//純文本提示框//指定距離中心點(diǎn)的X軸和Y軸的偏移量,如果不指定則在屏幕中間顯示//HUD.yOffset?=?150.0f;//HUD.xOffset?=?100.0f;[HUD?showAnimated:YES?whileExecutingBlock:^{sleep(2);}?completionBlock:^{[HUD?removeFromSuperview];HUD?=?nil;}]; }依次實(shí)現(xiàn)的效果如下:
1、文本提示框:
2、進(jìn)度提示框1:
3、進(jìn)度提示框2:
? ? ?
4、自定義提示框:
? ?
5、純文本提示框:(下面這個(gè)效果就類似Android中的Toast) ? ??
? ? ? ? ? ? ?? ? ? ? ? ? ? ? ????
以上就簡(jiǎn)單介紹了MBProgressHUD的使用,這里都是采用block的形式來(lái)操作的,這樣寫起代碼來(lái)更直觀也更高效。
參考文章:http://blog.csdn.net/ryantang03/article/details/7877120
轉(zhuǎn)載于:https://my.oschina.net/iNiL0119/blog/178550
總結(jié)
以上是生活随笔為你收集整理的MBProgressHUD的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Mac下载安装sublime text
- 下一篇: jQuery 2.0.3 源码分析 事件