實(shí)現(xiàn)原理:
其實(shí)是自定義一個(gè)view,將view添加到UITabBar上面,也可以是一個(gè)按鈕,設(shè)置背景圖片,和label。
廢話少說(shuō)直接上代碼
搞一個(gè)UITabBar的分類(lèi)
#import <UIKit/UIKit.h>@interface UITabBar (Extension)- (void)showBadgeOnItmIndex:(int)index;- (void)hideBadgeOnItemIndex:(int)index;@end
#import "UITabBar+Extension.h"#define TabbarItemNums 5.0@implementation UITabBar (badge)//顯示紅點(diǎn)- (void)showBadgeOnItmIndex:(int)index{ [self removeBadgeOnItemIndex:index]; //新建小紅點(diǎn) 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];}//隱藏紅點(diǎn)-(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
最后在子控制器調(diào)用就可以啦
[self.tabBarController.tabBar showBadgeOnItmIndex:4];
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持武林網(wǎng)!
新聞熱點(diǎn)
疑難解答
圖片精選