ifish/Ifish/Utinitys/IfishUtils/UITabBar+addRedPointBadge.m

52 lines
1.3 KiB
Objective-C

//
// UITabBar+addRedPointBadge.m
// Ifish
//
// Created by imac on 17/3/17.
// Copyright © 2017年 lianlian. All rights reserved.
//
#import "UITabBar+addRedPointBadge.h"
#define IFISHITEMNUNBERS 4.0
@implementation UITabBar (addRedPointBadge)
- (void)showBadgeOnItemIndex:(int)index{
//移除之前的小红点
[self removeBadgeOnItemIndex:index];
UIView *badgeView = [[UIView alloc]init];
badgeView.tag = 888 + index;
badgeView.backgroundColor = RGB(252, 89, 89);
CGRect tabFrame = self.frame;
//确定小红点的位置
float percentX = (index +0.55) / IFISHITEMNUNBERS;
CGFloat x = ceilf(percentX * tabFrame.size.width);
CGFloat y = ceilf(0.1 * tabFrame.size.height);
badgeView.frame = CGRectMake(x, y, 8, 8);
badgeView.layer.cornerRadius = badgeView.frame.size.width/2;
[self addSubview:badgeView];
[self bringSubviewToFront:badgeView];
}
- (void)hideBadgeOnItemIndex:(int)index{
//移除小红点
[self removeBadgeOnItemIndex:index];
}
- (void)removeBadgeOnItemIndex:(int)index{
//按照tag值进行移除
for (UIView *subView in self.subviews) {
if (subView.tag == 888+index) {
[subView removeFromSuperview];
}
}
}
@end