用于以分词形式显示某个对象的多个标签,比如:

用法

将 TagsView.h/.m 文件拷贝到你的项目文件夹,在需要用到该控件的地方导入 TagsView.h 头文件。

IB 中的工作

拖一个 UIView 到故事板中,设置 UIView 宽度,高度随意(高度会自动计算)。将 Class 改成 TagsView。你会看到故事板变成这个样子:

可能效果不是你想要的,没关系,我们会在运行时改变它。

然后用 Assistant 编辑器为这个控件创建一个 IBOutlet 连接:

@property (weak, nonatomic) IBOutlet TagsView *tagsView;

在 ViewController 中

在 viewDidLoad 方法中,添加如下代码:

    // 1
    _tagsView.showDebugBorder = YES;
    // 2
    _tagsView.tags=@[@"睡前故事",@"热门推荐",@"经典",@"儿童教育"];
    // 3
   _tagsView.frame = _tagsView.intrinsicFrame;
  1. 这会在控件周围显示一个边框,以便我们查看它的真实框架(即 intrinsicFrame)。
  2. 设置要显示的标签文本 tags,也就是一个简单的字符串数组。
  3. 让 tagsView 的框架和真实内容的大小相符(intrisincFrame)。

实际运行效果如下:

属性

TagsView 支持以下属性,你可以通过这些属性实现一定程度的定制:

  1. tags:要显示的标签文本 tags,一个简单的字符串数组。
  2. textColor:标签文本的颜色。
  3. fontSize:标签文本的字体大小。
  4. cornerRadius:每个 tag 的圆角。
  5. borderColor:tag 包裹的边框颜色。
  6. borderWidth:边框粗细。
  7. textInsets:边框和文本之间的留白 Insets,只有 top、left 值有用。
  8. borderInsets:边框与相邻边框之间的留白 Insets,只有 top、left 值有用。
  9. intrinsicFrame:根据实际内容计算出来的框架大小,只读属性。
  10. showDebugBorder:是否显示控件本身的边框。

Demo

在 Xcode 8 中打开 TagsView.xcodeproj。

有任何问题和建议,请与作者联系。

最新文章

  1. Android 笔记 文件存取 day5
  2. 开启云时代,银狐H5游戏云通迅框架解决方案出炉!
  3. 全栈工程师是不是必须得会HTML5?
  4. ucenter小结
  5. asp.net 页面url重写
  6. 让QMainWindow也表现出QDialog的exec函数的特征
  7. .net程序开发人员必看的变量的命名规则
  8. 基于jquery开发的UI框架整理分析
  9. 使用clipboard.js实现复制内容至剪贴板
  10. java基础笔记(2)----流程控制
  11. mysql使用group_by
  12. hadoop集群中动态添加节点
  13. @Scheduler与cron
  14. spring aop 执行顺序
  15. jQuery学习笔记(jquery.simplemodal插件)
  16. 数据仓库基础(十)Informatica 组件1
  17. 【TCP/IP详解 卷一:协议】第二章:链路层
  18. 20145118 《Java程序设计》 实验报告一
  19. STL标准库-容器-deque
  20. gomobile build

热门文章

  1. Hadoop的分布式架构改进与应用
  2. MySQL 数据备份,Pymysql模块(Day47)
  3. Django_内置Admin
  4. Kattis - amsterdamdistance【数学】
  5. fetch 添加请求头headers
  6. json字符串转化为json对象and 对象转化为 json字符串
  7. 让Tomcat供外网访问
  8. CPU、内存通俗概念
  9. 求职之路共分享——亲身面试题(一) 1/三层与MVC区别
  10. ES6 Babel 简单使用