博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第九篇、UITabbar增加类别用来标红点
阅读量:6296 次
发布时间:2019-06-22

本文共 1377 字,大约阅读时间需要 4 分钟。

1.系统中只有设置bage的方式,设置为nil也是为一个红点,但是很大,并不是我们需要的

2.扩充标红点的方法 (常用于有新的动态提示标志)

 

#import 
@interface UITabBar (XSDExt) - (void)showBadgeOnItemIndex:(int)index; ///
<显示小红点 - (void)hidebadgeonitemindex:(int)index;>

 

#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:(int)index{      //移除小红点      [self removeBadgeOnItemIndex:index];  }    //移除小红点  - (void)removeBadgeOnItemIndex:(int)index{      //按照tag值进行移除      for (UIView *subView in self.subviews) {          if (subView.tag == 888+index) {              [subView removeFromSuperview];          }      }  }    @end

 

转载于:https://www.cnblogs.com/HJQ2016/p/5794088.html

你可能感兴趣的文章
正文提取算法
查看>>
轻松学PHP
查看>>
Linux中的网络监控命令
查看>>
this的用法
查看>>
windows下安装redis
查看>>
CentOS7 yum 安装git
查看>>
启动日志中频繁出现以下信息
查看>>
httpd – 对Apache的DFOREGROUND感到困惑
查看>>
分布式锁的一点理解
查看>>
idea的maven项目,install下载重复下载本地库中已有的jar包,而且下载后jar包都是lastupdated问题...
查看>>
2019测试指南-web应用程序安全测试(二)指纹Web服务器
查看>>
树莓派3链接wifi
查看>>
js面向对象编程
查看>>
Ruby中类 模块 单例方法 总结
查看>>
jQuery的validate插件
查看>>
5-4 8 管道符 作业控制 shell变量 环境变量配置
查看>>
Enumberable
查看>>
开发者论坛一周精粹(第五十四期) 求购备案服务号1枚!
查看>>
validate表单验证及自定义方法
查看>>
javascript 中出现missing ) after argument list的错误
查看>>