自定义标签管理RWAutoTagView
程序员文章站
2022-05-30 20:25:22
...
组件
自定义
标签
动态
RWAutoTagView
RWAutoTagView 简介
RWAutoTagView是一个展示自定义标签的类,可以展示
纯文本
、纯图片
、图文结合
(图片在左、图片在右、图片在上、图片在下)三种样式的标签。可单独样式、混合样式展示,也可动态多行、单个标签一行展示。让你随心所欲使用。
一、 如何使用RWAutoTagView
- 使用CocoaPods导入
pod 'RWAutoTagView'
- 下载项目(含Demo)点击下载,把RWAutoTagView文件夹拖入项目中。
二、RWAutoTagView组件介绍
- RWAutoTagView 一个标签集合管理控件
- RWAutoTagButton 单个标签对象
- RWAutoTag 数据Model 标签对应的Model
- NSBundle+RWAutoTag、RWAutoTag.bundle 资源文件
-
RWAutoTagView、一个标签集合管理控件
使用
RWAutoTagViewDataSource
、RWAutoTagViewDelegate
来对标签创建和管理 -
RWAutoTagButton单个标签对象
-
RWAutoTag
RWAutoTag是数据Model,RWAutoTagButton可以使用RWAutoTag对象来初始化。
初始化方法 + (instancetype)autoTagWithText:(NSString *)text; + (instancetype)autoTagWithAttributedText:(NSAttributedString *)attributedText; + (instancetype)autoTagWithTagStyle:(RWAutoTagStyle)style;
-
NSBundle+RWAutoTag
是控件本身资源文件管理,里面存在一张默认图片
.h文件中 @interface NSBundle (RWAutoTag) + (instancetype)rw_autoTagBundle;/* 获取bundle */ + (UIImage *)rw_autotagImage;/* 获取默认图片 */ @end
.m文件中 @implementation NSBundle (RWAutoTag) + (instancetype)rw_autoTagBundle { static NSBundle *autoTagBundle = nil; if (autoTagBundle == nil) { // 这里不使用mainBundle是为了适配pod 1.x和0.x autoTagBundle = [NSBundle bundleWithPath:[[NSBundle bundleForClass:[RWAutoTagButton class]] pathForResource:@"RWAutoTag" ofType:@"bundle"]]; } return autoTagBundle; } + (UIImage *)rw_autotagImage { static UIImage *autotagImage = nil; if (autotagImage == nil) { autotagImage = [UIImage imageWithContentsOfFile:[[self rw_autoTagBundle] pathForResource:@"RWAutoTag" ofType:@"png"]]; } return autotagImage; } @end