接上文:https://blog.csdn.net/it_15077647703/article/details/117648122
因为项目需求要在button上添加未读角标,为了方便使用我就直接继承button图文样式自定义类来设置类
继承于ReLayoutBuuton(上文的button类)
.h文件如下
@interface LayoutBadgeButton : ReLayoutBuuton
@property (strong, nonatomic) UILabel *badge;
/**
- 角标显示的信息,可以为数字和文字
/
@property (nonatomic) NSString badgeValue;
/ - 角标背景颜色,默认为红色
/
@property (nonatomic) UIColor badgeBGColor;
/ - 角标文字的颜色
/
@property (nonatomic) UIColor badgeTextColor;
/ - 角标字号
/
@property (nonatomic) UIFont badgeFont;
/ - 角标的气泡边界
/
@property (nonatomic) CGFloat badgePadding;
/* - 角标的最小尺寸
/
@property (nonatomic) CGFloat badgeMinSize;
/* - 角标的x值
/
@property (nonatomic) CGFloat badgeOriginX;
/* - 角标的y值
/
@property (nonatomic) CGFloat badgeOriginY;
/* - 当角标为0时,自动去除角标
/
@property BOOL shouldHideBadgeAtZero;
/* - 当角标的值发生变化,角标的动画是否显示
*/
@property BOOL shouldAnimateBadge;
@end
.m文件实现
#import “LayoutBadgeButton.h”
#import <objc/runtime.h>
NSString const *badgeKey = @“badgeKey”;
NSString const *badgeBGColorKey = @“badgeBGColorKey”;
NSString const *badgeTextColorKey = @“badgeTextColorKey”;
NSString const *badgeFontKey = @“badgeFontKey”;
NSString const *badgePaddingKey = @“badgePaddingKey”;
NSString const *badgeMinSizeKey = @“badgeMinSizeKey”;
NSString const *badgeOriginXKey = @“badgeOriginXKey”;
NSString const *badgeOriginYKey = @“badgeOriginYKey”;
NSString const *shouldHideBadgeAtZeroKey = @“shouldHideBadgeAtZeroKey”;
NSString const *shouldAnimateBadgeKey = @“shouldAnimateBadgeKey”;
NSString const *badgeValueKey = @“badgeValueKey”;
@implementation LayoutBadgeButton
- (void)badgeInit
{