ios零碎记录工欲善其事必先利其器iOS菜鸟到大神

简单易用的标签列表界面(宝宝用了都不哭了 )

2016-08-16  本文已影响12462人  袁峥

前言

很多应用都有标签列表界面,这次封装了一个,标签列表界面(YZTagListView),用法比较简单。如果喜欢我的文章,可以关注我微博:袁峥Seemygo

Demo效果1:

效果1.gif

Demo效果2:

效果2.gif

Demo效果3:

效果3.gif

Demo演示:

#import "YZTagList.h"
    YZTagList *tagList = [[YZTagList alloc] init];
    tagList.backgroundColor = [UIColor brownColor];
    _tagList = tagList;
    // 高度可以设置为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"];
/**
 *  添加标签
 *
 *  @param tagStr 标签文字
 */
- (void)addTag:(NSString *)tagStr;

/**
 *  添加多个标签
 *
 *  @param tagStrs 标签数组,数组存放(NSString *)
 */
- (void)addTags:(NSArray *)tagStrs;
/**
 *  删除标签
 *
 *  @param tagStr 标签文字
 */
- (void)deleteTag:(NSString *)tagStr;
/**
 *  点击标签,执行Block
 */
@property (nonatomic, strong) void(^clickTagBlock)(NSString *tag);

列如:点击标签,删除标签
  // 点击标签,就会调用
    __weak typeof(_tagList) weakTagList = _tagList;
    _tagList.clickTagBlock = ^(NSString *tag){
        [weakTagList deleteTag:tag];
    };
属性:
/**
 *  是否需要排序功能
 */
@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

源码

点击这下载源代码

上一篇 下一篇

猜你喜欢

热点阅读