V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jianleer
V2EX  ›  C

闲来无事,撸了一个标签展示工具 -- CocoaTags

  •  
  •   jianleer · 2015 年 8 月 27 日 · 1969 次点击
    这是一个创建于 3804 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Image

    (暂未添加删除功能)

    项目地址: https://github.com/thebookofleaves/CocoaTags

    使用方法

    1 、根据数组初始化

    NSArray *array = @[@"123",@"德玛西亚",@"扭曲丛林",@"百度",@"阿里巴巴",@"Cocoa",@"洁白月光",@"秦时明月",@"花草",@"大圣归来",@"你在干嘛呢",@"碉堡了",@"然并卵",@"纯则脆,阳则钢"];
     CocoaTagView *tagsView = [[CocoaTagView alloc] initWithFrame:CGRectMake (0, 20,CGRectGetWidth (self.view.bounds ), 200 )];
        [self.view addSubview:tagsView];
        [tagsView setTagsWithTagsArray:array];
    

    2 、更新 tags

    [_tagsView updateTags:array];
    
    第 1 条附言  ·  2015 年 8 月 27 日
    修复了一个判断英文逗号的 bug ,犯了这么低级的错误。。。不好意思
    第 2 条附言  ·  2015 年 8 月 27 日

    增加字符串中同时存在中文逗号和英文逗号的判断

    18 条回复    2015-08-29 00:09:21 +08:00
    jianleer
        1
    jianleer  
    OP
       2015 年 8 月 27 日
    ![image]( )
    ayaseruri
        2
    ayaseruri  
       2015 年 8 月 27 日
    zhangchioulin
        3
    zhangchioulin  
       2015 年 8 月 27 日 via Android
    这个每一个 tag,是 label 还是 button?或是自己写的?
    zhangchioulin
        4
    zhangchioulin  
       2015 年 8 月 27 日 via Android
    感觉这个用 label 写 应该会比较简单。可是, tag
    的宽度和 tag 位置是一个问题 要用算法控制
    jianleer
        5
    jianleer  
    OP
       2015 年 8 月 27 日
    @zhangchioulin 每一个都是 label , 这些 label 放在了一个 View 上
    menc
        6
    menc  
       2015 年 8 月 27 日   ❤️ 1
    这个控件,余光里会有经典的那个小黑点在空白交叉处
    jianleer
        7
    jianleer  
    OP
       2015 年 8 月 27 日
    @menc 仔细一看,真有
    ljbha007
        8
    ljbha007  
       2015 年 8 月 27 日
    我靠 commit 里还能用 emoji 第一次知道!!

    我还想说的是同样的效果用 html5 至需要 10 行 css
    jianleer
        9
    jianleer  
    OP
       2015 年 8 月 27 日
    @ljbha007 如果只是用来展示固定的 tags 10 行左右的代码也可以搞定
    finab
        10
    finab  
       2015 年 8 月 28 日
    曾经用 Masonry 实现过一个,
    实现方式是每个 label 都会寻找自己上一个 label (在一个数组中维护)并为自己生成合适的约束
    jianleer
        11
    jianleer  
    OP
       2015 年 8 月 28 日
    @finab 是的 Masonry 也可以做
    CommandZi
        12
    CommandZi  
       2015 年 8 月 28 日
    这个用 UICollectionView 来实现不是简单得多吗?
    deadEgg
        13
    deadEgg  
       2015 年 8 月 28 日
    android 可用 fancybutton 撸类似效果
    jianleer
        14
    jianleer  
    OP
       2015 年 8 月 28 日
    @CommandZi 用 UICollectionView 确实可以做,但是在添加标签的时候遇到了一个这样的布局问题,有解决方案吗
    ![Image]( )

    GitHub:https://github.com/thebookofleaves/CocoaPickerByCollectionView
    CommandZi
        16
    CommandZi  
       2015 年 8 月 28 日   ❤️ 1
    @jianleer 自定义 UICollectionViewLayout 。
    shiweifu
        17
    shiweifu  
       2015 年 8 月 28 日
    我这个带删除 tag ,可以复用:
    https://github.com/shiweifu/SFTagView

    还有我同事的使用 AutoLayout 实现的:
    https://github.com/zsk425/SKTagView
    jianleer
        18
    jianleer  
    OP
       2015 年 8 月 29 日
    @shiweifu 谢谢,有时间研究一下

    感谢 @CommandZi
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2312 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:52 · PVG 23:52 · LAX 07:52 · JFK 10:52
    ♥ Do have faith in what you're doing.