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>