V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
jianleer
V2EX  ›  C

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

  •  
  •   jianleer · Aug 27, 2015 · 2089 views
    This topic created in 3896 days ago, the information mentioned may be changed or developed.

    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];
    
    Supplement 1  ·  Aug 27, 2015
    修复了一个判断英文逗号的 bug ,犯了这么低级的错误。。。不好意思
    Supplement 2  ·  Aug 27, 2015

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

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

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

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

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

    感谢 @CommandZi
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   985 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 20:36 · PVG 04:36 · LAX 13:36 · JFK 16:36
    ♥ Do have faith in what you're doing.