實(shí)用小技巧(三十五)—— UITabBar上業(yè)務(wù)相關(guān)的紅點(diǎn)展示和移除邏輯實(shí)現(xiàn)(一)

版本記錄

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

前言

在app中锅锨,很多時(shí)候都需要熟悉一些小技巧讓您事半功倍圈驼,提高工作效率捕儒,這些小技巧都很小很細(xì)斜筐。感興趣的可以看看我寫的其他小技巧龙致。
1. 實(shí)用小技巧(一):UIScrollView中上下左右滾動(dòng)方向的判斷
2. 實(shí)用小技巧(二):屏幕橫豎屏的判斷和相關(guān)邏輯
3.實(shí)用小技巧(三):點(diǎn)擊手勢(shì)屏蔽子視圖的響應(yīng)
4.實(shí)用小技巧(四):動(dòng)態(tài)的增刪標(biāo)簽視圖
5.實(shí)用小技巧(五):通過(guò)相冊(cè)或者相機(jī)更改圖標(biāo)
6.實(shí)用小技巧(六):打印ios里所有字體
7. 實(shí)用小技巧(七):UITableViewCell自適應(yīng)行高的計(jì)算
8. 實(shí)用小技巧(八):數(shù)字余額顯示的分隔
9.實(shí)用小技巧(九):類頭條模糊背景的實(shí)現(xiàn)
10.實(shí)用小技巧(十):晃動(dòng)手機(jī)換后臺(tái)服務(wù)器網(wǎng)絡(luò)
11.實(shí)用小技巧(十一):scrollView及其子類顯示的一些異常處理
12.實(shí)用小技巧(十二):頭像圖片縮放以及保存到相冊(cè)簡(jiǎn)單功能的實(shí)現(xiàn)
13.實(shí)用小技巧(十三):一種類酷我音樂(lè)盒動(dòng)畫實(shí)現(xiàn)
14.實(shí)用小技巧(十四):生成跳往applestore指定app的方法
15.實(shí)用小技巧(十五):左側(cè)向右滑動(dòng)返回上一級(jí)控制器
16.實(shí)用小技巧(十六):獲取設(shè)備信息
17.實(shí)用小技巧(十七):清除緩存目錄
18.實(shí)用小技巧(十八):取出gif圖的每一幀
19.實(shí)用小技巧(十九):獲取相機(jī)和麥克風(fēng)權(quán)限
20.實(shí)用小技巧(二十):游客模式的實(shí)現(xiàn)
21.實(shí)用小技巧(二十一):版本檢測(cè)的實(shí)現(xiàn)
22.實(shí)用小技巧(二十二):鍵盤遮擋問(wèn)題
23. 實(shí)用小技巧(二十三):獲取閃光燈的控制
24. 實(shí)用小技巧(二十四):APP頁(yè)面開(kāi)啟跳轉(zhuǎn)邏輯處理
25. 實(shí)用小技巧(二十五)—— 關(guān)于UILabel控件寬高的計(jì)算
26. 實(shí)用小技巧(二十六)—— APP中各種權(quán)限監(jiān)測(cè)和申請(qǐng)工具封裝
27. 實(shí)用小技巧(二十七)—— 控制器跳轉(zhuǎn)邏輯的封裝
28. 實(shí)用小技巧(二十八)—— 一種字符串的遍歷方式
29. 實(shí)用小技巧(二十九)—— 漢字的判斷以及計(jì)數(shù)
30. 實(shí)用小技巧(三十)—— 數(shù)字的判斷以及計(jì)數(shù)
31. 實(shí)用小技巧(三十一)—— 版本監(jiān)測(cè)工具的封裝
32. 實(shí)用小技巧(三十二)—— 項(xiàng)目中代碼行數(shù)統(tǒng)計(jì)
33. 實(shí)用小技巧(三十三)—— json和對(duì)象之間的轉(zhuǎn)化工具的封裝(一)
34. 實(shí)用小技巧(三十四)—— 設(shè)置一個(gè)UILabel控件不同行文字字體樣式以及行間距等個(gè)性化設(shè)置(一)

問(wèn)題描述

首先看一下一個(gè)實(shí)用場(chǎng)景,在每日簽到活動(dòng)中顷链,需要啟動(dòng)App的時(shí)候就顯示敲到界面目代,但是如果用戶不簽到,那么tabBar上的我的那個(gè)底部item就要顯示一個(gè)紅點(diǎn),用來(lái)提醒用戶還沒(méi)有簽到榛了。

這里就說(shuō)一下這個(gè)紅點(diǎn)的添加和消失的邏輯在讶。


問(wèn)題解決

其實(shí),這個(gè)問(wèn)題并不難忽冻,很簡(jiǎn)單的一個(gè)UI展示的問(wèn)題真朗。這里有兩個(gè)方案:

  • 使用系統(tǒng)API的badgeValue實(shí)現(xiàn),不僅可以實(shí)現(xiàn)紅點(diǎn)僧诚,還可以有數(shù)字。但是也有缺點(diǎn)就是視圖的樣式不能自定義蝗碎,只能用系統(tǒng)的視圖湖笨。
  • 使用自定義的UIView來(lái)添加,這么做的優(yōu)點(diǎn)就是可以實(shí)現(xiàn)自定義樣式蹦骑。

1. 展示邏輯

首先我們看一下添加邏輯慈省,在UITabBarController實(shí)例化的子類中添加如下代碼。

@property (nonatomic, strong) UIView *redDotView;

//增加紅點(diǎn)邏輯
- (void)addRedDotForMeTabBarItem
{
    CGFloat redDotRadius = 5.0;
    CGFloat topMargin = 5.0;
    NSInteger tabBarItemCount = self.tabBar.items.count;
    CGFloat halfItemWidth = CGRectGetWidth(self.tabBar.bounds) / (tabBarItemCount * 2);
    CGFloat xOffset = halfItemWidth * (2 * 2 + 1) + 3.0;
    UIView *redDotView = [[UIView alloc] initWithFrame:CGRectMake(xOffset, topMargin, redDotRadius * 2, redDotRadius * 2)];
    [self.tabBar addSubview:redDotView];
    redDotView.backgroundColor = [UIColor redColor];
    redDotView.layer.cornerRadius = redDotRadius;
    self.redDotView = redDotView;
}

2. 移除邏輯

那么就在這個(gè)tabBar中監(jiān)聽(tīng)通知眠菇,當(dāng)有的地方簽到完成或者其他滿足條件的操作就移除這個(gè)紅點(diǎn)的自定義view即可边败。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(redDotViewDisappear) name:@"kNotification_has_marked_everyday" object:nil];

- (void)redDotViewDisappear
{
    self.redDotView.hidden = YES;
    [self.redDotView removeFromSuperview];
    self.redDotView = nil;
}

這樣就處理完成了,很簡(jiǎn)單捎废,是吧笑窜!下面看一下實(shí)現(xiàn)效果。

后記

本篇主要講述了tabBar上添加紅點(diǎn)的業(yè)務(wù)邏輯處理登疗,是UI的展示效果排截,實(shí)現(xiàn)很簡(jiǎn)單,但是可通用辐益,感興趣的給個(gè)贊或者關(guān)注~~~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末断傲,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子智政,更是在濱河造成了極大的恐慌认罩,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件续捂,死亡現(xiàn)場(chǎng)離奇詭異垦垂,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)疾忍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門乔外,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人一罩,你說(shuō)我怎么就攤上這事杨幼。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵差购,是天一觀的道長(zhǎng)四瘫。 經(jīng)常有香客問(wèn)我,道長(zhǎng)欲逃,這世上最難降的妖魔是什么找蜜? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮稳析,結(jié)果婚禮上洗做,老公的妹妹穿的比我還像新娘。我一直安慰自己彰居,他們只是感情好诚纸,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著陈惰,像睡著了一般畦徘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上抬闯,一...
    開(kāi)封第一講書(shū)人閱讀 51,165評(píng)論 1 299
  • 那天井辆,我揣著相機(jī)與錄音,去河邊找鬼溶握。 笑死杯缺,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的奈虾。 我是一名探鬼主播夺谁,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼肉微!你這毒婦竟也來(lái)了匾鸥?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤碉纳,失蹤者是張志新(化名)和其女友劉穎勿负,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體劳曹,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡奴愉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了铁孵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锭硼。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蜕劝,靈堂內(nèi)的尸體忽然破棺而出檀头,到底是詐尸還是另有隱情轰异,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布暑始,位于F島的核電站搭独,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏廊镜。R本人自食惡果不足惜牙肝,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望嗤朴。 院中可真熱鬧配椭,春花似錦、人聲如沸雹姊。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)容为。三九已至,卻和暖如春寺酪,著一層夾襖步出監(jiān)牢的瞬間坎背,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工寄雀, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留得滤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓盒犹,卻偏偏與公主長(zhǎng)得像懂更,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子急膀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

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

  • 前幾天沮协,有人在同學(xué)群里發(fā)了一個(gè)煤油燈的圖片,一下子把我的記憶拉回到了童年卓嫂。從我記事開(kāi)始慷暂,伴隨著家里照明的,除了陽(yáng)光...
    小胖孩的日記本閱讀 1,449評(píng)論 27 66
  • 今天又是一段被陽(yáng)光普照的日子這樣的溫度讓人覺(jué)得安逸(18℃)晨雳,一個(gè)人在家行瑞,隨便應(yīng)付了午飯。 這一天餐禁,強(qiáng)迫自己讀完了...
    柴八度閱讀 117評(píng)論 0 1
  • 秦嶺山下的清水頭村依山榜水血久,山清水秀,每年四月萬(wàn)畝桃花盛開(kāi)帮非,七月荷花滿池塘氧吐,游人如織讹蘑。秋天的山村絲毫不亞于春,夏的...
    柳絮飛雪閱讀 354評(píng)論 0 0