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

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

  •  
  •   jianleer Aug 27, 2015 2132 views
    This topic created in 3915 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
    这个控件,余光里会有经典的那个小黑点在空白交叉处
    jianlee
        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     983 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 121ms UTC 23:03 PVG 07:03 LAX 16:03 JFK 19:03
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86