代码

创建视图Badge继承自UIView

.h

#import <UIKit/UIKit.h>

@interface Badge : UIView

/**

*  给视图添加1、2、3、4角标

*/

- (void)addBadgeValue:(NSString *)badgeValue;

/**

* 移除添加的角标

*/

- (void)removeBadgeValue;

@end

.m

#import "Badge.h"

@implementation Badge

- (void)addBadgeValue:(NSString *)badgeValue {

[self removeBadgeValue];

UITabBar *tabBar = [[UITabBar alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 50)];

UITabBarItem *item = [[UITabBarItem alloc] initWithTitle:@"" image:nil tag:0];

item.badgeValue = badgeValue;

NSArray *array = [[NSArray alloc] initWithObjects:item, nil];

tabBar.items = array;

//寻找

for (UIView *viewTab in tabBar.subviews) {

for (UIView *subview in viewTab.subviews) {

NSString *strClassName = [NSString stringWithUTF8String:object_getClassName(subview)];

if ([strClassName isEqualToString:@"UITabBarButtonBadge"] ||

[strClassName isEqualToString:@"_UIBadgeView"]) {

//从原视图上移除

[subview removeFromSuperview];

//

[self addSubview:subview];

subview.frame = CGRectMake(self.frame.size.width-10, 0,

subview.frame.size.width, subview.frame.size.height);

return;

}

}

}

}

- (void)removeBadgeValue

{

for (UIView *subview in self.subviews) {

NSString *strClassName = [NSString stringWithUTF8String:object_getClassName(subview)];

if ([strClassName isEqualToString:@"UITabBarButtonBadge"] ||

[strClassName isEqualToString:@"_UIBadgeView"]) {

[subview removeFromSuperview];

break;

}

}

}

使用代码

#import "ViewController.h"

#import "Badge.h"

@interface ViewController ()

@property (nonatomic,strong)Badge *bd;

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

//角标

_bd = [[Badge alloc]init];

NSString *str = @"2";

[_bd addBadgeValue:str];

_bd.backgroundColor = [UIColor cyanColor];

_bd.frame = CGRectMake(100, 50, 100, 100);

[self.view addSubview:_bd];

}

@end

效果图如下

iOS 给控件View添加角标BadgeValue相关推荐

  1. iOS:分页控件UIPageControl的使用

    分页控件:UIPageControl   功能:通常搭配滚动视图一起使用,设置pagingEnabled=YES即可,UIScrollView会被分割成多个独立页面,用户的滚动体验则变成了页面翻转,一 ...

  2. Android探索之旅 | 为应用添加角标(Badge)

    -- 作者 谢恩铭 转载请注明出处 内容简介 需求简介 Android角标起源 不错的Github项目 清除角标 小问题纠错 总结 1.需求简介 角标是什么意思呢? 看下图即可明了: 可以看到图中的乐 ...

  3. Android之在app图标添加角标

    在做一些推送服务的时候,想在应用图标上添加未读消息,Android桌面角标的适配确实是非常坑爹的需求.原生系统根本就没有这个功能,国内很多厂家效仿ios都自己定义了该功能. 现在就为大家介绍部分机型添 ...

  4. android之在app图标添加角标,Android之在app图标添加角标

    在做一些推送服务的时候,想在应用图标上添加未读消息,Android桌面角标的适配确实是非常坑爹的需求.原生系统根本就没有这个功能,国内很多厂家效仿ios都自己定义了该功能. 现在就为大家介绍部分机型添 ...

  5. asp.net panel 加html,ASP.NET 页面中动态增加的控件、添加事件

    要求:页面上有一个Add按钮,每点击一次该按钮,页面上动态创建一个WebPartZone! 提醒:WebPartZone只能在OnInit或之前才能创建,否则报异常! 大家都知道,按钮的点击事件是在R ...

  6. ASP.NET开发:在用户控件中添加属性

    在WEB开发中,可重用的代码我们可以把它写成一个通用模块供需要的地方来引用.本文就是介绍在ASP.NET的web编程时,如何在用户控件中添加属性,实现这种方法:举例说明详解. 在WEB开发中经常有一些 ...

  7. 在 GridView 控件中添加一列复选框51

    简介 在前面的教程中 , 我们学习了如何为 GridView 控件添加一列 单选 按钮来选择一个特定的记录.当用户被限制最多只能从网格中选中一项时,一列单选按钮是一个非常恰当的用户界面.然而,有时我们 ...

  8. 控件(View)之TextSwitcher, Gallery, ImageSwitcher, GridView, ListView, ExpandableList【转】

    在 Android 中使用各种控件(View) TextSwitcher - 文字转换器控件(改变文字时增加一些动画效果) Gallery - 缩略图浏览器控件 ImageSwitcher - 图片转 ...

  9. 系出名门Android(7) - 控件(View)之ZoomControls, Include, VideoView, WebView, RatingBar, Tab

    [索引页] [×××] 系出名门Android(7) - 控件(View)之ZoomControls, Include, VideoView, WebView, RatingBar, Tab, Spi ...

最新文章

  1. 首发 | 腾讯把需求和代码统一的内幕
  2. CCTF部分赛题分析
  3. Linux 服务器停止当前运行的程序,实验,代码
  4. matlab中Cci,【指标量化】超买超卖——CCI 顺势指标
  5. linux中时间命令详解
  6. Laravel 数据库实例教程 —— 使用DB门面操作数据库
  7. 实现MySQL的Replication
  8. php和js封装函数,介绍javascript-ecma中的几种封装函数
  9. 自己合成制作支付宝、微信、QQ三合一万能收款码
  10. 用动画做出一个正方体并且3d旋转,详解
  11. DHCP Relay 配置教程
  12. 最新Android框架排行榜。
  13. HTML/樱花爱心网页/
  14. 炔烃+叠氮“点击化学”(Click chemistry)试剂,你值得拥有
  15. BFS模版题----水缸灌水(c++)
  16. 最新IP数据库-基于国家省份城市县区和运营商-专业准确-每月发行
  17. 在vs2010使用EF出现CS0012: 类型“System.Data.Objects.DataClasses.EntityObject”在未被引用的程序集中定义...
  18. B2C免运费1年记:京东拖垮小企业后再收费
  19. Python全栈(五)Web安全攻防之4.sqlmap性能优化和注入技术参数
  20. 如何找到压铸模具中真空阀的最佳位置?

热门文章

  1. 设置并访问另一台电脑的共享文件夹
  2. Android adb 环境变量配置的坑 adb 不是内部或外部命令
  3. 百度网盘,实现免费不限速,10M/S?都是假的
  4. Android 富文本编辑器 图文混排
  5. 网友测试:优品拍拍二手交易平台
  6. 从Linux角度以及JVM源码,深入NIO的细节
  7. 「Java工具类」汉语转拼音工具类HanyuPinyinHelper.java
  8. OAuth2的运行机制(GitHub单点登录)
  9. 五花八门的Barcamp和五花八门的人
  10. 项目:金融行业反欺诈模型