iOS TabBarItem設置紅點(未讀消息)
更新時間:2017年04月10日 11:53:22 作者:rockyMJ
本文主要介紹了iOS利用TabBarItem設置紅點(未讀消息)的相關知識。具有很好的參考價值,下面跟著小編一起來看下吧
實現(xiàn)原理:
其實是自定義一個view,將view添加到UITabBar上面,也可以是一個按鈕,設置背景圖片,和label。
廢話少說直接上代碼
搞一個UITabBar的分類
#import <UIKit/UIKit.h> @interface UITabBar (Extension) - (void)showBadgeOnItmIndex:(int)index; - (void)hideBadgeOnItemIndex:(int)index; @end
#import "UITabBar+Extension.h" #define TabbarItemNums 5.0 @implementation UITabBar (badge) //顯示紅點 - (void)showBadgeOnItmIndex:(int)index{ [self removeBadgeOnItemIndex:index]; //新建小紅點 UIView *bview = [[UIView alloc]init]; bview.tag = 888+index; bview.layer.cornerRadius = 5; bview.clipsToBounds = YES; bview.backgroundColor = [UIColor redColor]; CGRect tabFram = self.frame; float percentX = (index+0.6)/TabbarItemNums; CGFloat x = ceilf(percentX*tabFram.size.width); CGFloat y = ceilf(0.1*tabFram.size.height); bview.frame = CGRectMake(x, y, 10, 10); [self addSubview:bview]; [self bringSubviewToFront:bview]; } //隱藏紅點 -(void)hideBadgeOnItemIndex:(int)index{ [self removeBadgeOnItemIndex:index]; } //移除控件 - (void)removeBadgeOnItemIndex:(int)index{ for (UIView*subView in self.subviews) { if (subView.tag == 888+index) { [subView removeFromSuperview]; } } } @end
最后在子控制器調用就可以啦
[self.tabBarController.tabBar showBadgeOnItmIndex:4];
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
您可能感興趣的文章:
相關文章
iOS開發(fā)中使用UILabel設置字體的相關技巧小結
這篇文章主要介紹了iOS開發(fā)中UILabel設置字體的相關技巧小結,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2016-01-01IOS 開發(fā)之網(wǎng)絡圖片輪播圖的實現(xiàn)
這篇文章主要介紹了IOS 開發(fā)之網(wǎng)絡圖片輪播圖的實現(xiàn)的相關資料,希望通過此文大家能夠掌握輪播圖的實現(xiàn),需要的朋友可以參考下2017-09-09iOS App設計模式開發(fā)之適配器模式使用的實戰(zhàn)演練
這篇文章主要介紹了iOS App設計模式開發(fā)之適配器模式的使用實例,示例代碼為傳統(tǒng)的Objective-C語言,需要的朋友可以參考下2016-03-03詳解Obejective-C中將JSON數(shù)據(jù)轉為模型的方法
這篇文章主要介紹了Obejective-C中JSON數(shù)據(jù)轉為模型的方法,同時介紹了使用jastor庫的方法,需要的朋友可以參考下2016-03-03