52 lines
1.3 KiB
Objective-C
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
|