版本記錄
版本號(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)注~~~