博客> 扩展实现tabbar小红点
扩展实现tabbar小红点
2018-12-13 17:57 评论:0 阅读:718 为你捻花信手拂天下
ios tabbar 小红点

你还在为实现tabbar的小红点烦恼吗?快来试试UITabBar的扩展 说白了就是把UITabBar重写一下方法,以下粘贴.h&.m的代码,可以直接使用

.h

//!显示小红点

  • (void)showBadgeOnItemIndex:(int)index; //!隐藏小红点
  • (void)hideBadgeOnItemIndex:(int)index;

.m

//显示小红点

  • (void)showBadgeOnItemIndex:(int)index{ //移除之前的小红点 [self removeBadgeOnItemIndex:index];

    UIView *badgeView = [[UIView alloc]init]; badgeView.tag = 101 + index; badgeView.layer.cornerRadius = 4; badgeView.backgroundColor = [UIColor redColor]; CGRect tabFrame = self.frame;

    //小红点的位置 float percentX = (index +0.6) / TabbarItemNums; CGFloat x = ceilf(percentX tabFrame.size.width); CGFloat y = ceilf(0.1 tabFrame.size.height); badgeView.frame = CGRectMake(x, y, 8, 8); [self addSubview:badgeView]; }

//隐藏小红点

  • (void)hideBadgeOnItemIndex:(int)index{ [self removeBadgeOnItemIndex:index]; }

//移除小红点

  • (void)removeBadgeOnItemIndex:(int)index{ //按照tag值进行移除 for (UIView *subView in self.subviews) { if (subView.tag == 101 +index) { [subView removeFromSuperview]; } } } 小红点要显示在第几个tabbar上面,索引就传index
收藏
0
sina weixin mail 回到顶部