一个 token 控件
2024-09-27 06:43:43
用于以分词形式显示某个对象的多个标签,比如:
用法
将 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;
- 这会在控件周围显示一个边框,以便我们查看它的真实框架(即 intrinsicFrame)。
- 设置要显示的标签文本 tags,也就是一个简单的字符串数组。
- 让 tagsView 的框架和真实内容的大小相符(intrisincFrame)。
实际运行效果如下:
属性
TagsView 支持以下属性,你可以通过这些属性实现一定程度的定制:
- tags:要显示的标签文本 tags,一个简单的字符串数组。
- textColor:标签文本的颜色。
- fontSize:标签文本的字体大小。
- cornerRadius:每个 tag 的圆角。
- borderColor:tag 包裹的边框颜色。
- borderWidth:边框粗细。
- textInsets:边框和文本之间的留白 Insets,只有 top、left 值有用。
- borderInsets:边框与相邻边框之间的留白 Insets,只有 top、left 值有用。
- intrinsicFrame:根据实际内容计算出来的框架大小,只读属性。
- showDebugBorder:是否显示控件本身的边框。
Demo
在 Xcode 8 中打开 TagsView.xcodeproj。
有任何问题和建议,请与作者联系。
最新文章
- Android 笔记 文件存取 day5
- 开启云时代,银狐H5游戏云通迅框架解决方案出炉!
- 全栈工程师是不是必须得会HTML5?
- ucenter小结
- asp.net 页面url重写
- 让QMainWindow也表现出QDialog的exec函数的特征
- .net程序开发人员必看的变量的命名规则
- 基于jquery开发的UI框架整理分析
- 使用clipboard.js实现复制内容至剪贴板
- java基础笔记(2)----流程控制
- mysql使用group_by
- hadoop集群中动态添加节点
- @Scheduler与cron
- spring aop 执行顺序
- jQuery学习笔记(jquery.simplemodal插件)
- 数据仓库基础(十)Informatica 组件1
- 【TCP/IP详解 卷一:协议】第二章:链路层
- 20145118 《Java程序设计》 实验报告一
- STL标准库-容器-deque
- gomobile build