前言
很多应用都有标签列表界面,这次封装了一个,标签列表界面(YZTagListView)
,用法比较简单。如果喜欢我的文章,可以关注我微博:袁峥Seemygo
Demo效果1:
Demo效果2:
Demo效果3:
Demo演示:
- 1.使用
cocoapods
引入YZTagListView,或者直接拖入YZTagListView
文件夹到项目中 - 2.导入YZTagListView.h头文件
#import "YZTagList.h"
- 3.创建YZTagListView控件
YZTagList *tagList = [[YZTagList alloc] init];
tagList.backgroundColor = [UIColor brownColor];
_tagList = tagList;
- 4.设置YZTagListView属性(可选)
// 高度可以设置为0,会自动跟随标题计算
tagList.frame = CGRectMake(0, 64, self.view.bounds.size.width, 0);
// 设置标签背景色
tagList.tagBackgroundColor = [UIColor colorWithRed:20 / 255.0 green:160 / 255.0 blue:250 / 255.0 alpha:1];
// 设置标签颜色
tagList.tagColor = [UIColor whiteColor];
// 设置标签删除图片
tagList.tagDeleteimage = [UIImage imageNamed:@"chose_tag_close_icon"];
- 5.添加标签
/**
* 添加标签
*
* @param tagStr 标签文字
*/
- (void)addTag:(NSString *)tagStr;
- 6.添加多个标签
/**
* 添加多个标签
*
* @param tagStrs 标签数组,数组存放(NSString *)
*/
- (void)addTags:(NSArray *)tagStrs;
- 7.删除标签
/**
* 删除标签
*
* @param tagStr 标签文字
*/
- (void)deleteTag:(NSString *)tagStr;
- 8.监听标签点击
/**
* 点击标签,执行Block
*/
@property (nonatomic, strong) void(^clickTagBlock)(NSString *tag);
列如:点击标签,删除标签
// 点击标签,就会调用
__weak typeof(_tagList) weakTagList = _tagList;
_tagList.clickTagBlock = ^(NSString *tag){
[weakTagList deleteTag:tag];
};
- 9.排序功能
属性:
/**
* 是否需要排序功能
*/
@property (nonatomic, assign) BOOL isSort;
/**
* 在排序的时候,放大标签的比例,必须大于1
*/
@property (nonatomic, assign) CGFloat scaleTagInSort;
实例:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
NSArray *tags = @[@"小码哥",@"小码哥1",@"小码哥2",@"小码哥3",@"iOS学院",@"iOS学院1",@"iOS学院2",@"iOS学院3",@"吖了个峥",@"吖了个峥1",@"吖了个峥2",@"吖了个峥3"];
// 创建标签列表
YZTagList *tagList = [[YZTagList alloc] init];
// 高度可以设置为0,会自动跟随标题计算
tagList.frame = CGRectMake(0, 64, self.view.bounds.size.width, self.view.bounds.size.height - 64);
// 设置排序时,缩放比例
tagList.scaleTagInSort = 1.3;
// 需要排序
tagList.isSort = YES;
// 标签尺寸
tagList.tagSize = CGSizeMake(80, 30);
// 不需要自适应标签列表高度
tagList.isFitTagListH = NO;
[self.view addSubview:tagList];
// 设置标签背景色
tagList.tagBackgroundColor = [UIColor colorWithRed:20 / 255.0 green:160 / 255.0 blue:250 / 255.0 alpha:1];
// 设置标签颜色
tagList.tagColor = [UIColor whiteColor];
/**
* 这里一定先设置标签列表属性,然后最后去添加标签
*/
[tagList addTags:tags];
}
更多用法,请参考Demo
源码
点击这下载源代码