提示圖顯示篇之MBProgressHUD(二)

版本記錄

版本號(hào) 時(shí)間
V1.0 2017.05.28

前言

在我們的app項(xiàng)目中,為了增加和用戶很好的交互能力细疚,通常都需要加一些提示圖蔗彤,比如說,當(dāng)我們需要網(wǎng)絡(luò)加載數(shù)據(jù)的時(shí)候疯兼,首先要監(jiān)測網(wǎng)絡(luò)然遏,如果網(wǎng)絡(luò)斷開的時(shí)候,我們需要提示用戶吧彪;還有一個(gè)場景就是登陸的時(shí)候待侵,需要提示用戶正在登錄中和登錄成功;再比如清除用戶的緩存數(shù)據(jù)成功的時(shí)候姨裸,也需要進(jìn)行清除成功的提示的秧倾,等等】酰總之中狂,用的場景很多,好的提示圖可以增強(qiáng)和用戶的交互體驗(yàn)扑毡,試想胃榕,如果沒有網(wǎng)絡(luò),也不提示用戶瞄摊,用戶還以為還在登錄勋又,過了一會(huì)還是上不去,那可能用戶就瘋掉了换帜,怒刪app了楔壤。最近做的幾個(gè)項(xiàng)目中也是對這個(gè)要求的也很多,在實(shí)際應(yīng)用中可以自己寫惯驼,也可以使用第三方框架蹲嚣,比較知名的比如MBProgressHUDSVProgressHUD,從這一篇開始我就一點(diǎn)一點(diǎn)的介紹它們以及它們的使用方法祟牲,希望對大家有所幫助隙畜,那我們就開始嘍。先給出github地址:
MBProgressHUD github
感興趣可以先看上一篇
1.提示圖顯示篇之MBProgressHUD(一)
這一篇將對MBProgreeHUD的結(jié)構(gòu)和模式等基本概念進(jìn)行介紹说贝。

詳情

在我們使用MBProgreeHUD之前我們需要先了解一下它的幾個(gè)概念议惰。我們首先要記住的是它是UIView的子類,也就是說它就是一個(gè)特殊的自定義View乡恕。

一言询、模式

MBProgreeHUD有很多不同的指示模式俯萎,有餅狀的,條狀的运杭,還有系統(tǒng)默認(rèn)的菊花狀的等等夫啊,在代碼里面是以枚舉的方式體現(xiàn)的,如下所示:

typedef enum {
    //1. 默認(rèn)模式,使用系統(tǒng)自帶的指示器 ,不能顯示進(jìn)度,只能不停地轉(zhuǎn)呀轉(zhuǎn)
    MBProgressHUDModeIndeterminate,
   // 2. 用餅狀圖顯示進(jìn)度 
    MBProgressHUDModeDeterminate,
    //3.  進(jìn)度條 
    MBProgressHUDModeDeterminateHorizontalBar,
    //4. 圓環(huán)
    MBProgressHUDModeAnnularDeterminate,
    //5. 自定義視圖 
    MBProgressHUDModeCustomView,
    //6. 只顯示文字
    MBProgressHUDModeText
} MBProgressHUDMode;

可見這里的模式是可以自定義的辆憔,還可以是使用系統(tǒng)的涮母,下面就分別介紹這幾種模式。

  • 1.MBProgressHUDModeIndeterminate
    //系統(tǒng)自帶模式
    MBProgressHUD *HUD = [[MBProgressHUD alloc] initWithView:self.view];
    HUD.mode = MBProgressHUDModeIndeterminate;
    [self.view addSubview:HUD];
    [HUD showAnimated:YES];
    [HUD hideAnimated:YES afterDelay:3.0];

圖案是下邊這樣的

系統(tǒng)自帶樣式
  • 2.MBProgressHUDModeDeterminate
    //餅狀圖的樣式
    MBProgressHUD *HUD = [[MBProgressHUD alloc] initWithView:self.view];
    HUD.mode = MBProgressHUDModeDeterminate;
    [self.view addSubview:HUD];
    [HUD showAnimated:YES];
    [HUD hideAnimated:YES afterDelay:3.0];

圖案是下邊這樣的

環(huán)狀圖樣式

這里沒有給進(jìn)度躁愿,所以看起來像是環(huán)狀叛本,但是確實(shí)是餅狀的以后會(huì)給大家演示。

  • 3.MBProgressHUDModeDeterminateHorizontalBar
    //條狀圖的樣式
    MBProgressHUD *HUD = [[MBProgressHUD alloc] initWithView:self.view];
    HUD.mode = MBProgressHUDModeDeterminateHorizontalBar;
    [self.view addSubview:HUD];
    [HUD showAnimated:YES];
   [HUD hideAnimated:YES afterDelay:3.0];

圖案是下邊這樣的

條狀圖

這里我沒有給進(jìn)度參數(shù)progress所以是中空的彤钟。

  • 4.MBProgressHUDModeAnnularDeterminate
    //環(huán)狀圖的樣式
    MBProgressHUD *HUD = [[MBProgressHUD alloc] initWithView:self.view];
    HUD.mode = MBProgressHUDModeAnnularDeterminate;
    [self.view addSubview:HUD];
    [HUD showAnimated:YES];
    [HUD hideAnimated:YES afterDelay:3.0];

圖案是下邊這樣的

環(huán)狀圖
  • 5.MBProgressHUDModeCustomView
    //自定義視圖的樣式
    UIImageView *imageView = [[UIImageView alloc] init];
    imageView.image = [UIImage imageNamed:@"global"];
    
    MBProgressHUD *HUD = [[MBProgressHUD alloc] initWithView:self.view];
    HUD.mode = MBProgressHUDModeCustomView;
    HUD.customView = imageView;
    HUD.label.text = @"全球化";
    HUD.detailsLabel.text = @"我們一起參與";
    [self.view addSubview:HUD];
    [HUD showAnimated:YES];
    [HUD hideAnimated:YES afterDelay:3.0];

圖案是下邊這樣的

自定義圖案
  • 6.MBProgressHUDModeText
    //只顯示文字
    MBProgressHUD *HUD = [[MBProgressHUD alloc] initWithView:self.view];
    HUD.mode = MBProgressHUDModeText;
    HUD.label.text = @"全球化";
    HUD.detailsLabel.text = @"我們一起參與";
    [self.view addSubview:HUD];
    [HUD showAnimated:YES];
    [HUD hideAnimated:YES afterDelay:3.0];

圖案是下邊這樣的

只顯示文字

二来候、組成

MBProgressHUD由指示器,文本框,詳情文本框,背景框4個(gè)部分組成。

我們還以下邊這個(gè)圖案進(jìn)行說明逸雹。

自定義圖案
  • 這里的圖片就相當(dāng)于指示器营搅,等同于上面那幾種模式中的菊花等,如果是自定義的視圖梆砸,需要傳一個(gè)屬性值customView转质,它繼承于UIView,所以傳一個(gè)UIImageView也是可以的帖世。

  • "全球化”這里就是文本框label休蟹,相當(dāng)于cell的主標(biāo)題一樣,與它相關(guān)的屬性如下:

//文本
@property (copy) NSString *labelText;
//文本字體
@property (MB_STRONG) UIFont* labelFont;
//文本顏色
@property (MB_STRONG) UIColor* labelColor;

  • “我們一起參與”就相當(dāng)于詳細(xì)文本框detailLabel日矫,與它相關(guān)的屬性赂弓,如下:
//詳細(xì)文本框的文字
@property (copy) NSString *detailsLabelText;
//詳細(xì)文本框的字體
@property (MB_STRONG) UIFont* detailsLabelFont;
//詳細(xì)文本框的文字顏色
@property (MB_STRONG) UIColor* detailsLabelColor;

  • 灰色的背景其實(shí)就是這里的背景框,它可以設(shè)置透明度哪轿,顏色盈魁,等等。與其相關(guān)的屬性如下所示窃诉。
// 背景框的透明度杨耙,默認(rèn)值是0.8
@property (assign) float opacity;
// 背景框的顏色, 如果設(shè)置了這個(gè)屬性,則opacity屬性會(huì)失效飘痛,即不會(huì)有半透明效果
@property (MB_STRONG) UIColor *color;
// 背景框的圓角半徑珊膜。默認(rèn)值是10.0
@property (assign) float cornerRadius;
// 菊花的顏色票编,默認(rèn)是白色
@property (MB_STRONG) UIColor *activityIndicatorColor;

后記

這一篇我們主要介紹了MBProgressHUD的模式和組成,并且簡單說明了相關(guān)組成的單元屬性凡桥,下一篇我會(huì)接著給大家介紹毛秘。謝謝大家掖疮,端午第一天假期愉快盼玄。

春江花月夜
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末秩冈,一起剝皮案震驚了整個(gè)濱河市爆阶,隨后出現(xiàn)的幾起案子萌庆,更是在濱河造成了極大的恐慌溶褪,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件践险,死亡現(xiàn)場離奇詭異猿妈,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)巍虫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進(jìn)店門彭则,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人占遥,你說我怎么就攤上這事俯抖。” “怎么了瓦胎?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵芬萍,是天一觀的道長。 經(jīng)常有香客問我搔啊,道長柬祠,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任负芋,我火速辦了婚禮漫蛔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘旧蛾。我一直安慰自己惩猫,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布蚜点。 她就那樣靜靜地躺著轧房,像睡著了一般。 火紅的嫁衣襯著肌膚如雪绍绘。 梳的紋絲不亂的頭發(fā)上奶镶,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機(jī)與錄音陪拘,去河邊找鬼厂镇。 笑死,一個(gè)胖子當(dāng)著我的面吹牛左刽,可吹牛的內(nèi)容都是我干的捺信。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼迄靠!你這毒婦竟也來了秒咨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤掌挚,失蹤者是張志新(化名)和其女友劉穎雨席,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吠式,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡陡厘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了特占。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片糙置。...
    茶點(diǎn)故事閱讀 38,622評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖是目,靈堂內(nèi)的尸體忽然破棺而出谤饭,到底是詐尸還是另有隱情,我是刑警寧澤胖笛,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布网持,位于F島的核電站,受9級(jí)特大地震影響长踊,放射性物質(zhì)發(fā)生泄漏功舀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一身弊、第九天 我趴在偏房一處隱蔽的房頂上張望辟汰。 院中可真熱鬧,春花似錦阱佛、人聲如沸帖汞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽翩蘸。三九已至,卻和暖如春淮逊,著一層夾襖步出監(jiān)牢的瞬間催首,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工泄鹏, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留郎任,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓备籽,卻偏偏與公主長得像舶治,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 源碼來源:gitHub源碼 轉(zhuǎn)載于: CocoaChina 來源:南峰子的技術(shù)博客 版本:0.9.1 MBPr...
    李小六_閱讀 6,425評論 2 5
  • - (void)testMBProgressHUD { NSLog(@"test MBProgressHUD ")...
    有偶像包袱的程序狗閱讀 1,539評論 0 1
  • 利用 MBProgress 提供的接口方法進(jìn)行了二次封裝拓展.為了更好的使用,特此記錄一下,方便今后開發(fā)使用帶來便...
    survivorsfyh閱讀 563評論 0 1
  • 首先需要導(dǎo)入一個(gè)第三方的SDK MBProgressHUD 霉猛,為了顯示提示框尺锚,如下圖: 在viewControl...
    本客閱讀 146評論 0 0
  • 《精進(jìn)——如何成為一個(gè)很厲害的人》,這個(gè)題目聽著有點(diǎn)聳人聽聞韩脏,要成為一個(gè)很厲害的人缩麸,沒有一定的天賦恐怕不行铸磅,但是作...
    寒山1978閱讀 275評論 0 3