iOS开发 UITabBar角标 红点形式 (tabBarItem.badgeValue)
来源:互联网 发布:rk3399平板 ubuntu 编辑:程序博客网 时间:2024/05/30 23:52
有人问到tabbar上自定义角标红点形状,翻了翻以前的项目,找到了,也忘了参考谁的,反正闲着蛋疼,记录一下;
系统的角标 系统有方法,tabBarItem.badgeValue=@"1"
有些需要自定义的,代码如下(UITabBar的类别)
.h里代码
//// UITabBar+XSDExt.h// XSD-PK UITabBar类别//// Created by 小广 on 15/11/28.// Copyright © 2015年 XSD. All rights reserved.//#import <UIKit/UIKit.h>@interface UITabBar (XSDExt)- (void)showBadgeOnItemIndex:(NSInteger)index; ///<显示小红点- (void)hideBadgeOnItemIndex:(NSInteger)index; ///<隐藏小红点@end
.m方法
//// UITabBar+XSDExt.m// XSD-PK//// Created by 小广 on 15/11/28.// Copyright © 2015年 XSD. All rights reserved.//#import "UITabBar+XSDExt.h"#define TabbarItemNums 3.0 //tabbar的数量 如果是5个设置为5@implementation UITabBar (XSDExt)//显示小红点- (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
用法:
//显示 [self.tabBarController.tabBar showBadgeOnItemIndex:2];//隐藏 [self.tabBarController.tabBar hideBadgeOnItemIndex:2];
在tabbar的一个VC里调用就行;
栗子如图:
0 0
- iOS开发 UITabBar角标 红点形式 (tabBarItem.badgeValue)
- iOS tabbaritem设置红点大小、自定义宽高
- UItabBar上添加红点
- ios 开发中,如何设置 uitabbar 里面 tabbaritem 不显示文字,只显示图片,图片垂直居中?
- ios UITabBar UITabBarItem 设置角标 数字 红点 未读消息数量
- iOS开发 -- 点击取消红点提示
- iOS开发之UITabBar
- iOS开发 ☞ UITabbar
- tabbaritem设置红点大小、自定义宽高
- tabbaritem设置红点大小、自定义宽高
- TabbarItem设置红点大小、自定义宽高
- Tabbaritem设置红点大小、自定义宽高
- tabbaritem设置红点大小、自定义宽高
- tabbaritem设置红点大小、自定义宽高
- tabbaritem设置红点大小、自定义宽高
- IOS开发之TabBarItem&NavigationBarItem
- IOS开发之TabBarItem&NavigationBarItem
- iOS - 自定义红点
- Cubietruck---14. binder分析_深入理解android第六章笔记
- “个人总结”最基础博弈套路,实力山寨
- 东方输入法真的有流氓么?
- Multidex何弃疗
- Cubietruck---15. input系统分析2
- iOS开发 UITabBar角标 红点形式 (tabBarItem.badgeValue)
- Cubietruck---16.设备的添加及数据分析
- hdu_5221_Occupation(树剖)
- 手把手教你禁止流氓软件进入电脑!小白福因~~~~
- Cubietruck---17.键盘设备的添加及数据流程分析
- Docker中使用OverlayFS
- 现在软件是不是越来越流氓了,越来越任性了.
- Cubietruck---18.input子系统启动流程分析
- Objective-C Runtime 运行时之六:拾遗