iOS TabBarItem设置红点(未读消息)
实现原理:
其实是自定义一个view,将view添加到UITabBar上面,也可以是一个按钮,设置背景图片,和label。
废话少说直接上代码
搞一个UITabBar的分类
#import@interfaceUITabBar(Extension) -(void)showBadgeOnItmIndex:(int)index; -(void)hideBadgeOnItemIndex:(int)index; @end
#import"UITabBar+Extension.h" #defineTabbarItemNums5.0 @implementationUITabBar(badge) //显示红点 -(void)showBadgeOnItmIndex:(int)index{ [selfremoveBadgeOnItemIndex:index]; //新建小红点 UIView*bview=[[UIViewalloc]init]; bview.tag=888+index; bview.layer.cornerRadius=5; bview.clipsToBounds=YES; bview.backgroundColor=[UIColorredColor]; CGRecttabFram=self.frame; floatpercentX=(index+0.6)/TabbarItemNums; CGFloatx=ceilf(percentX*tabFram.size.width); CGFloaty=ceilf(0.1*tabFram.size.height); bview.frame=CGRectMake(x,y,10,10); [selfaddSubview:bview]; [selfbringSubviewToFront:bview]; } //隐藏红点 -(void)hideBadgeOnItemIndex:(int)index{ [selfremoveBadgeOnItemIndex:index]; } //移除控件 -(void)removeBadgeOnItemIndex:(int)index{ for(UIView*subViewinself.subviews){ if(subView.tag==888+index){ [subViewremoveFromSuperview]; } } } @end
最后在子控制器调用就可以啦
[self.tabBarController.tabBarshowBadgeOnItmIndex:4];
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持毛票票!