自定义TabBar小红点
来源:互联网 发布:天刀焰灵姬捏脸数据 编辑:程序博客网 时间:2024/05/16 11:07
//// UITabBar+Yao.h// ShoppingMall//// Created by yaoliangjun on 16/10/20.// Copyright © 2016年 yaoliangjun. All rights reserved.// 自定义tabbar小红点#import <UIKit/UIKit.h>@interface UITabBar (Yao)/** 显示小红点 */- (void)showBadgeOnTabIndex:(NSInteger)index;/** 隐藏小红点 */- (void)hideBadgeOnTabIndex:(NSInteger)index;@end
//// UITabBar+Yao.m// ShoppingMall//// Created by yaoliangjun on 16/10/20.// Copyright © 2016年 yaoliangjun. All rights reserved.//#import "UITabBar+Yao.h"#define TabCount 5 // tabbar的数量 如果是5个设置为5@implementation UITabBar (Yao)// 用法:// 显示// [self.tabBarController.tabBar showBadgeOnTabIndex:2];// 隐藏// [self.tabBarController.tabBar hideBadgeOnTabIndex:2];// 显示小红点- (void)showBadgeOnTabIndex:(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.7) / TabCount; // 0.7控制小红点位置,值越大小红点越靠右 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)hideBadgeOnTabIndex:(NSInteger)index{ // 移除小红点 [self removeBadgeOnItemIndex:index];}// 移除小红点- (void)removeBadgeOnItemIndex:(NSInteger)index{ // 按照tag值进行移除 for (UIView *subView in self.subviews) { if (subView.tag == 888 + index) { [subView removeFromSuperview]; } }}@end
效果图如下:
0 0
- 自定义TabBar小红点
- 自定义TabBar
- 自定义TabBar
- 自定义Tabbar
- 自定义tabbar
- 自定义tabbar
- 自定义 TabBar
- 自定义TabBar
- 自定义tabBar
- 自定义TabBar
- 自定义TabBar
- 自定义Tabbar
- 自定义tabbar
- 自定义 TabBar
- 自定义TabBar
- 自定义tabBar
- 自定义tabBar
- 自定义tabBar
- RANSAC算法详解
- 使用Anaconda下载工具包
- 我的战争 (2016)
- 情况不妙 (2016)
- zookeeper
- 自定义TabBar小红点
- QT---邮件发送
- MySQL存放Emoji
- xcode 里 dismissViewControllerAnimated 的提示错误:completion 参数
- HTML基础笔记之表单实例
- pdo
- Python3 获取格式化时间串
- js日期的格式化
- JVM 内存设置大小(Xms Xmx PermSize MaxPermSize 区别)