ASJTagsView
ASJTagsView
是一个 UI 组件,允许您创建带有删除图标的标签视图。这些通常用于显示搜索查询。它们可以在 Flipkart 和 Pinterest 等应用程序中找到。
安装
CocoaPods 是安装此库的推荐方法。将此命令添加到您的 Podfile
pod 'ASJTagsView'
用法
设置非常简单。仅需要在您的 storyboard 或 xib 上放置一个 UIScrollView
并将其类更改为您 ASJTagsView
。
您可以使用多个 IBInspectable
属性来快速进行自定义。
@property (nullable, strong, nonatomic) IBInspectable UIColor *tagColor;
@property (nullable, strong, nonatomic) IBInspectable UIColor *tagTextColor;
@property (nullable, strong, nonatomic) IBInspectable UIImage *crossImage;
@property (assign, nonatomic) IBInspectable CGFloat cornerRadius;
@property (assign, nonatomic) IBInspectable CGFloat tagSpacing;
@property (assign, nonatomic) IBInspectable TagColorTheme tagColorTheme;
@property (assign, nonatomic) IBInspectable BOOL showDeleteButton;
‘tagColorTheme’ 属性允许您从一组预定义主题中选择来快速定制标签。
要按代码创建一个,您需要导入 ASJTagsView.h
。要与标签视图一起工作,您有以下选项
- (void)addTag:(NSString *)tag;
向标签视图添加单个标签。
- (void)appendTags:(NSArray<NSString *> *)tags;
将 NSString
数组附加到标签视图中。它们将被添加到已显示的标签之后。
- (void)replaceTags:(NSArray<NSString *> *)tags;
用新标签替换所有可见标签。
- (void)deleteTag:(NSString *)tag;
根据提供的字符串删除所有同名标签。
- (void)deleteTagAtIndex:(NSInteger)idx;
删除指定数组索引的标签。
- (void)deleteAllTags;
清空标签视图。
- (void)reloadTagsView;
手动重新加载。注意,每次添加或删除标签时,视图都会自动重新加载。
您可以选择两个块来处理特定事件。
- (void)setTapBlock:(TagBlock _Nullable)tapBlock;
当标签被点击时调用。在块内部,您将接收到标签字符串以及在视图中其对应的索引。
- (void)setDeleteBlock:(TagBlock _Nullable)deleteBlock;
当删除按钮被点击时调用。在块内部,您将接收到标签字符串以及在视图中其对应的索引。
致谢
- 十字图标取自 Google 材质图标。
- 除了默认主题之外的所有标签颜色主题均取自 [Ben Gordon's] (https://github.com/bennyguitar) 的 色彩。
待办事项
支持横幅模式为标签视图添加自定义选项- 支持添加自定义视图
添加选项禁用交叉(删除按钮)- 添加选项显示随机颜色的标签
- 使用
UICollectionView
代替标准的UIScrollView
- 添加选项使标签水平滚动
授权
ASJTagsView
使用 MIT 许可。有关更多信息,请参阅 LICENSE 文件。