iOS简单易用的标签列表界面
BreannaK40
8年前
<h2>前言</h2> <p>很多应用都有标签列表界面,这次封装了一个, 标签列表界面(YZTagListView) ,用法比较简单。如果喜欢我的文章,可以关注我微博:吖了个峥,也可以来 <a href="/misc/goto?guid=4958879039250964583" rel="nofollow,noindex">小码哥</a> ,了解下我们的iOS培训课程。后续还会更新更多内容,有任何问题,欢迎 简书留言 <a href="/misc/goto?guid=4959713356854202754" rel="nofollow,noindex">峥吖</a> 。。。</p> <h2>Demo效果:</h2> <p style="text-align:center"><img src="https://simg.open-open.com/show/67b8536ae106349c33ff1fb8fd591cf3.gif"></p> <p style="text-align:center"><img src="https://simg.open-open.com/show/089cdc0dcaba269d52e873709cc9dab0.gif"></p> <p style="text-align:center"><img src="https://simg.open-open.com/show/c2066c3f2a20c94b86c6996a7d069127.gif"></p> <h2>Demo演示:</h2> <ul> <li> <p>1.使用 cocoapods 引入YZTagListView,或者直接拖入 YZTagListView 文件夹到项目中</p> </li> <li> <p>2.导入YZTagListView.h头文件</p> <pre> <code class="language-swift">#import "YZTagList.h"</code></pre> </li> <li> <p>3.创建YZTagListView控件</p> <pre> <code class="language-swift"> YZTagList *tagList = [[YZTagList alloc] init]; tagList.backgroundColor = [UIColor brownColor]; _tagList = tagList;</code></pre> </li> <li> <p>4.设置YZTagListView属性(可选)</p> <pre> <code class="language-swift"> // 高度可以设置为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"];</code></pre> </li> <li> <p>5.添加标签</p> </li> </ul> <pre> <code class="language-swift">/** * 添加标签 * * @param tagStr 标签文字 */- (void)addTag:(NSString *)tagStr;</code></pre> <ul> <li> <p>6.添加多个标签</p> </li> </ul> <pre> <code class="language-swift">/** * 添加多个标签 * * @param tagStrs 标签数组,数组存放(NSString *) */- (void)addTags:(NSArray *)tagStrs;</code></pre> <ul> <li> <p>7.删除标签</p> </li> </ul> <pre> <code class="language-swift">/** * 删除标签 * * @param tagStr 标签文字 */- (void)deleteTag:(NSString *)tagStr;</code></pre> <ul> <li> <p>8.监听标签点击</p> </li> </ul> <pre> <code class="language-swift">/** * 点击标签,执行Block */@property (nonatomic, strong) void(^clickTagBlock)(NSString *tag); 列如:点击标签,删除标签 // 点击标签,就会调用 __weak typeof(_tagList) weakTagList = _tagList; _tagList.clickTagBlock = ^(NSString *tag){ [weakTagList deleteTag:tag]; };</code></pre> <ul> <li> <p>9.排序功能</p> </li> </ul> <pre> <code class="language-swift">属性:/** * 是否需要排序功能 */@property (nonatomic, assign) BOOL isSort;/** * 在排序的时候,放大标签的比例,必须大于1 */@property (nonatomic, assign) CGFloat scaleTagInSort;</code></pre> <pre> <code class="language-swift">实例: - (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]; }</code></pre> <p>更多用法,请参考Demo</p> <p>点击这下载 <a href="/misc/goto?guid=4959713356954509622" rel="nofollow,noindex">源代码</a></p> <p> </p> <p>来自:http://www.cocoachina.com/ios/20160831/17445.html</p> <p> </p> <p><span style="background:rgb(189, 8, 28) url("data:image/svg+xml; border-radius:2px; border:medium none; color:rgb(255, 255, 255); cursor:pointer; display:none; font:bold 11px/20px "Helvetica Neue",Helvetica,sans-serif; left:262px; opacity:0.85; padding:0px 4px 0px 0px; position:absolute; text-align:center; text-indent:20px; top:1476px; width:auto; z-index:8675309">Save</span></p>