第三方庫MBProgressHUD(菊花,加載中,操作成功)

本人ios初學者,為自己學習方便,復制各位大神的學習性文章放在自己簡書里,僅作為自己學習方便使用,如果作者疑此行為侵權,請隨時聯系本人刪除,如有共同學習者復制此文章,請注明原出處

MBProgressHUD是一個開源項目,實現了很多種樣式的提示框,使用上簡單、方便,并且可以對顯示的內容進行自定義,功能很強大,很多項目中都有使用到。到GitHub上可以下載到項目源碼https://github.com/jdg/MBProgressHUD,下載下來后直接把MBProgressHUD.h和MBProgressHUD.m拖入工程中就行,別忘了選擇拷貝到工程。完了在需要使用的地方導入頭文件就可以開始使用了。首先看下工程截圖:

接下來是整個Demo的完整界面,這里我只選擇出了幾個常用的對話框,其他樣式的在源碼提供的Demo里可以找到,要用的話直接參考就可以。

接下來直接上代碼了,頭文件部分:

#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

實現文件(按鈕實現部分):

-?(IBAction)showTextDialog:(id)sender?{

//初始化進度框,置于當前的View當中

HUD?=?[[MBProgressHUD?alloc]?initWithView:self.view];

[self.view?addSubview:HUD];

//如果設置此屬性則當前的view置于后臺

HUD.dimBackground?=?YES;

//設置對話框文字

HUD.labelText?=?@"請稍等";

//顯示對話框

[HUD?showAnimated:YES?whileExecutingBlock:^{

//對話框顯示時需要執行的操作

sleep(3);

}?completionBlock:^{

//操作執行完后取消對話框

[HUD?removeFromSuperview];

[HUD?release];

HUD?=?nil;

}];

}

-?(IBAction)showProgressDialog:(id)sender?{

HUD?=?[[MBProgressHUD?alloc]?initWithView:self.view];

[self.view?addSubview:HUD];

HUD.labelText?=?@"正在加載";

//設置模式為進度框形的

HUD.mode?=?MBProgressHUDModeDeterminate;

[HUD?showAnimated:YES?whileExecutingBlock:^{

floatprogress?=?0.0f;

while(progress?<?1.0f)?{

progress?+=?0.01f;

HUD.progress?=?progress;

usleep(50000);

}

}?completionBlock:^{

[HUD?removeFromSuperview];

[HUD?release];

HUD?=?nil;

}];

}

-?(IBAction)showProgressDialog2:(id)sender?{

HUD?=?[[MBProgressHUD?alloc]?initWithView:self.view];

[self.view?addSubview:HUD];

HUD.labelText?=?@"正在加載";

HUD.mode?=?MBProgressHUDModeAnnularDeterminate;

[HUD?showAnimated:YES?whileExecutingBlock:^{

floatprogress?=?0.0f;

while(progress?<?1.0f)?{

progress?+=?0.01f;

HUD.progress?=?progress;

usleep(50000);

}

}?completionBlock:^{

[HUD?removeFromSuperview];

[HUD?release];

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"]]?autorelease];

[HUD?showAnimated:YES?whileExecutingBlock:^{

sleep(2);

}?completionBlock:^{

[HUD?removeFromSuperview];

[HUD?release];

HUD?=?nil;

}];

}

-?(IBAction)showAllTextDialog:(id)sender?{

HUD?=?[[MBProgressHUD?alloc]?initWithView:self.view];

[self.view?addSubview:HUD];

HUD.labelText?=?@"操作成功";

HUD.mode?=?MBProgressHUDModeText;

//指定距離中心點的X軸和Y軸的偏移量,如果不指定則在屏幕中間顯示

//????HUD.yOffset?=?150.0f;

//????HUD.xOffset?=?100.0f;

[HUD?showAnimated:YES?whileExecutingBlock:^{

sleep(2);

}?completionBlock:^{

[HUD?removeFromSuperview];

[HUD?release];

HUD?=?nil;

}];

}

依次實現的效果如下:

下面這個效果就類似Android中的Toast:

以上就簡單介紹了MBProgressHUD的使用,這里都是采用block的形式來操作的,這樣寫起代碼來更直觀也更高效。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • MBProgressHUD是一個開源項目,實現了很多種樣式的提示框,使用上簡單、方便,并且可以對顯示的內容進行自定...
    小專注閱讀 2,685評論 4 1
  • 源碼來源:gitHub源碼 轉載于: CocoaChina 來源:南峰子的技術博客 版本:0.9.1 MBPr...
    李小六_閱讀 6,461評論 2 5
  • - (void)testMBProgressHUD { NSLog(@"test MBProgressHUD ")...
    有偶像包袱的程序狗閱讀 1,576評論 0 1
  • 想想自己從小到大因為愛出風頭,愛搶頭條。作出了好多的災難。 有個大神說過,衣服最好是防御性的,對寒酸的不屑,對...
    駱駝和馬閱讀 236評論 0 1
  • 說好了,2016年最后一天早上8時,我們在百家惠超市前一起出發,一起去領略那年代久遠、讓人無比向往的黔桂古道,一起...
    蘭桂騰芳閱讀 1,193評論 12 3