自定义按钮设置BadgeNumber
TabbarButton.h
@interface TabbarButton : UIButton @property (nonatomic, strong) UIButton *badgeValueView; - (void)setItemBadgeNumber:(NSInteger)number;
- (CGRect)imageRectForContentRect:(CGRect)contentRect;
- (CGRect)titleRectForContentRect:(CGRect)contentRect; @end
TabbarButton.m @implementation TabbarButton - (id)init
{
if (self = [super init]) {
[self createBadgeValueView];
}
return self;
}
#pragma mark - 创建BadgeValueView
- (void)createBadgeValueView
{
CGFloat x = - badgeValueViewWH + ;
CGFloat y = -;
_badgeValueView = [[UIButton alloc] initWithFrame:CGRectMake(x, y,badgeValueViewWH, badgeValueViewWH)];
[_badgeValueView setBackgroundImage:[UIImage imageNamed:@"badgeBG"] forState:UIControlStateNormal];
_badgeValueView.titleLabel.font = kFont12;
[_badgeValueView setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
_badgeValueView.hidden = YES;
_badgeValueView.adjustsImageWhenHighlighted = NO;
[self addSubview:_badgeValueView];
} #pragma mark - 设置小红圈里的数字
- (void)setItemBadgeNumber:(NSInteger)number
{
if (number != ) {
if (self.badgeValueView.hidden) {
self.badgeValueView.hidden = NO;
}
[self.badgeValueView setTitle:[NSString stringWithFormat:@"%d",number] forState:(UIControlStateNormal)]; }else{
self.badgeValueView.hidden = YES;
}
}
调用自定义按钮:
//1.创建自定义的按钮
TabbarButton *button = [[TabbarButton alloc]init];
button.tag = index;
CGFloat btnX = kScreenW / * (index - ) + ;
button.frame = CGRectMake(btnX, , , ); //2.设置按钮图片和事件
[button setImage:[UIImage imageNamed:normal] forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:selected] forState:UIControlStateDisabled];
[button addTarget:self action:@selector(changeViewController:) forControlEvents:UIControlEventTouchDown]; //3.让图片在按钮内居中
button.imageView.contentMode = UIViewContentModeCenter; //4.创建按钮下面的文本
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(btnX, , , )];
label.tag = index + ;
label.text = title;
label.font = kFont11;
label.textColor = [UIColor grayColor];
label.textAlignment = NSTextAlignmentCenter;
//添加到自定义的tabbar
[_myTabBar addSubview:label];
[_myTabBar addSubview:button]; //设置按钮的BadgeNumber
[button setItemBadgeNumber:1];
自定义按钮设置BadgeNumber的更多相关文章
- 在VS2005中设置WPF中自定义按钮的事件
原文:在VS2005中设置WPF中自定义按钮的事件 上篇讲了如何在Blend中绘制圆角矩形(http://blog.csdn.net/johnsuna/archive/2007/08/13/17407 ...
- WPF自定义控件与样式(2)-自定义按钮FButton
一.前言.效果图 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 还是先看看效果 ...
- 用c#开发微信(5)自定义菜单设置工具 (在线创建)
读目录 1 使用 2 原理 3. 错误 上次写了<用c#开发微信 (4) 基于Senparc.Weixin框架的接收事件推送处理 (源码下载)>,有园友问到如何创建菜单的问题,今天就介绍下 ...
- Web jquery表格组件 JQGrid 的使用 - 5.Pager翻页、搜索、格式化、自定义按钮
系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件 ...
- iOS开发——UI进阶篇(十八)核心动画小例子,转盘(裁剪图片、自定义按钮、旋转)图片折叠、音量震动条、倒影、粒子效果
一.转盘(裁剪图片.自定义按钮.旋转) 1.裁剪图片 将一张大图片裁剪为多张 // CGImageCreateWithImageInRect:用来裁剪图片 // image:需要裁剪的图片 // re ...
- 网站上点击自定义按钮发起QQ聊天的解决方案
一.背景 最近由于开发需要,需要在网站上自定义一个立即交谈的按钮,现将解决方式分享给大家. 二.解决方案 1.首先访问:http://shang.qq.com/widget/consult.php,适 ...
- Expression Blend制作自定义按钮(转)
来源:http://www.cnblogs.com/iChina/archive/2011/11/25/2262854.html Expression Blend制作自定义按钮 1.从Blend工具箱 ...
- Qt之模型/视图(自定义按钮)
简述 衍伸前面的章节,我们对QTableView实现了数据显示.自定义排序.显示复选框.进度条等功能的实现,本节主要针对自定义按钮进行讲解,这节过后,也希望大家对自定义有更深入的了解,在以后的功能开发 ...
- css笔记——css 实现自定义按钮
css实现自定义按钮的样式实际上很早就有了,只是会用的人不是很多,里面涉及到了最基础的css写法,在火狐中按钮还是会显示出来,这时需要将i标签的背景设置为白色,同时z-index设置比input高一些 ...
随机推荐
- text输入框中按下enter键时阻止刷新页面
1.在js中加入一个方法: function judge_enter(){ if(window.event.keyCode==13){ return false;//阻止页面刷新的作用 } } 2.然 ...
- 【M30】代理类
1.考虑二维数组,在栈上分配,必须在编译时确定大小,也就是大小是常量.另外一点,C++不支持在堆上分配二维数组.怎么解决这个问题? 二维数组可以看成,一维数组的数组.因此,可以使用代理类,Array2 ...
- Swift学习笔记十
枚举 一个枚举为一组相关联的值定义一个通用类型,并且让你可以在代码中类型安全地操作这些值. C中的枚举将关联的名字指派给一系列整型值.Swift中的枚举类型更为活泼,并不需要为每个成员指定值,如果指定 ...
- .NET程序性能的基本要领
前几天在老赵的博客上看到,Bill Chiles (Roslyn 编译器的Program Manager)写了一篇文章叫做<Essential Performance Facts and .NE ...
- C#后台程序与HTML页面中JS方法互调(功能类似于Ajax中的DWR)
此方法适用于 C#中嵌入WebBrowser(浏览器) 通过浏览器中加载的页面与C#的后台代码进行交互. 一.C#程序 1.在C#窗体中添加WebBrowser(浏览器),将页面的URL添加到浏览器中 ...
- ios开发——实用技术篇Swift篇&播放MP3
播放MP3 // MARK: - 播放MP3 /*----- mp3 ------*/ //定时器- func updateTime() { //获取音频播放器播放的进度,单位秒 var cuTime ...
- oc-25- @property @synthesize
s.h #import <Foundation/Foundation.h> @interface Student : NSObject { @public NSString *_name; ...
- php内核探索
http://www.nowamagic.net/librarys/veda/special/PHP%E5%86%85%E6%A0%B8%E6%8E%A2%E7%B4%A2 关注PHP 源代码 Zen ...
- IOS UIView子类UIScrollView
转自:http://www.cnblogs.com/nightwolf/p/3222597.html 虽然apple在IOS框架中提供了很多可以直接使用的UI控件,但是在实际开发当中我们通常都是要自己 ...
- Android组件的通讯——Intent
转载:Android组件的通讯-Intent 1.概述 一个应用程序的三个核心组件——activities.services.broadcast receivers,都是通过叫做intents的消息激 ...