123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- //
- // UITabBar+LDExtension.m
- // YouHuiProject
- //
- // Created by liuxueli on 2019/1/15.
- // Copyright © 2019 kuxuan. All rights reserved.
- //
- #import "UITabBar+LDExtension.h"
- #define TabbarItemNums 5.0 //tabbar的数量 如果是5个设置为5
- @implementation UITabBar (LDExtension)
- //显示小红点
- - (void)showBadgeOnItemIndex:(NSInteger)index{
- //移除之前的小红点
- [self removeBadgeOnItemIndex:index];
-
- //新建小红点
- UIView *badgeView = [[UIView alloc]init];
- badgeView.tag = 888 + index;
- badgeView.layer.cornerRadius = 5.0;//圆形
- badgeView.backgroundColor = [UIColor redColor];//颜色:红色
- CGRect tabFrame = self.frame;
-
- //确定小红点的位置
- CGFloat 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, 10.0, 10.0);//圆形大小为10
- badgeView.clipsToBounds = YES;
- [self addSubview:badgeView];
- }
- //隐藏小红点
- - (void)hideBadgeOnItemIndex:(NSInteger)index{
- //移除小红点
- [self removeBadgeOnItemIndex:index];
- }
- //移除小红点
- - (void)removeBadgeOnItemIndex:(NSInteger)index{
- //按照tag值进行移除
- for (UIView *subView in self.subviews) {
- if (subView.tag == 888+index) {
- [subView removeFromSuperview];
- }
- }
- }
- @end
|