首页 > 系统 > iOS > 正文

iOS TabBarItem设置红点(未读消息)

2020-07-26 02:51:36
字体:
来源:转载
供稿:网友

实现原理:

其实是自定义一个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];

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持武林网!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表