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

2015-08-27 17:23:30 +08:00
 jianleer

(暂未添加删除功能)

项目地址: 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];
1453 次点击
所在节点    C
18 条回复
jianleer
2015-08-27 17:24:05 +08:00
![image]( )
ayaseruri
2015-08-27 17:37:13 +08:00
zhangchioulin
2015-08-27 18:15:42 +08:00
这个每一个 tag,是 label 还是 button?或是自己写的?
zhangchioulin
2015-08-27 18:26:31 +08:00
感觉这个用 label 写 应该会比较简单。可是, tag
的宽度和 tag 位置是一个问题 要用算法控制
jianleer
2015-08-27 19:11:01 +08:00
@zhangchioulin 每一个都是 label , 这些 label 放在了一个 View 上
menc
2015-08-27 19:41:03 +08:00
这个控件,余光里会有经典的那个小黑点在空白交叉处
jianleer
2015-08-27 20:21:03 +08:00
@menc 仔细一看,真有
ljbha007
2015-08-27 20:25:44 +08:00
我靠 commit 里还能用 emoji 第一次知道!!

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

GitHub:https://github.com/thebookofleaves/CocoaPickerByCollectionView
jianleer
2015-08-28 17:52:35 +08:00
CommandZi
2015-08-28 23:00:24 +08:00
@jianleer 自定义 UICollectionViewLayout 。
shiweifu
2015-08-28 23:36:44 +08:00
我这个带删除 tag ,可以复用:
https://github.com/shiweifu/SFTagView

还有我同事的使用 AutoLayout 实现的:
https://github.com/zsk425/SKTagView
jianleer
2015-08-29 00:09:21 +08:00
@shiweifu 谢谢,有时间研究一下

感谢 @CommandZi

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/216448

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX