美文网首页
iOS Tabbar 红色圆点提醒消息

iOS Tabbar 红色圆点提醒消息

作者: A訫飛Flyme | 来源:发表于2019-06-19 15:39 被阅读0次
    #import <UIKit/UIKit.h>
    
    NS_ASSUME_NONNULL_BEGIN
    
    @interface UITabBar (badge)
    - (void)showBadgeOnItemIndex:(int)index;
    - (void)hideBadgeOnItemIndex:(int)index;
    @end
    
    NS_ASSUME_NONNULL_END
    /*------------------------------------------------*/
    #import "UITabBar+badge.h"
    #define TabbarItemNums 5.0
    
    @implementation UITabBar (badge)
    //显示红点
    - (void)showBadgeOnItemIndex:(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
    
    if (count >0) {
        [self.tabBar showBadgeOnItemIndex:4];
    }else{
        [self.tabBar hideBadgeOnItemIndex:4];
    }
    

    相关文章

      网友评论

          本文标题:iOS Tabbar 红色圆点提醒消息

          本文链接:https://www.haomeiwen.com/subject/mjekqctx.html