WMZBanner - 仿前端element-UI框架的标签
演示
特性
- 链式语法 结构优雅
- 所有属性(颜色,字体,宽度,高度,圆角等)样式均可自定义、
- 支持增加
- 支持删除
- 支持单点选中
- 支持多点选中
- 支持默认选中
- 支持左/右对齐
- 默认多个size可选
- 默认多个风格可选
用法
简单调用只显示
WMZTagParam *model =
TagParam()
.wDataSet(@[])
.wFrameSet(CGRectMake(10, 10, 310, 0));
WMZTags *tag1 = [[WMZTags alloc]initConfigureWithModel:model withView:self.scrollView];
单选
TagParam()
.wDataSet(@[@"1",@"2"])
.wSelectOneSet(YES)
.wTapClick(^(NSInteger index, id _Nonnull model, BOOL isSelected) {
NSLog(@"单点的点击回调 %ld %@ %@",index,model,isSelected?@"选中":@"取消选中");
})
.imageNameSet(@"notCheck")
.selectImageNameSet(@"check").wTypeSet(success)
.wMasonrySet(^(MASConstraintMaker * _Nonnull make) {
make.top.left.bottom.mas_equalTo(0);
make.width.mas_equalTo(TagWitdh);
});
多选
TagParam()
.wSelectMoreSet(YES)
.textImageNameSet(@"💖")
.selecTextImageNameSet(@"❤️")
.imagePositionSet(TagImagePositionLeft).wTypeSet(info)
.wMasonrySet(^(MASConstraintMaker * _Nonnull make) {
make.top.left.bottom.mas_equalTo(0);
make.width.mas_equalTo(TagWitdh);
})
.wMoreTapClick(^(NSArray * _Nonnull indexArr, NSArray * _Nonnull modelArr) {
NSLog(@"多点的点击回调 %@ %@",indexArr,modelArr);
});
删除
TagParam()
.wCloseClick(^(NSInteger index, id _Nonnull model,NSArray * _Nonnull modelArr) {
NSLog(@"删除的回调 %ld %@ %@",index,model,modelArr);
})
.wMasonrySet(^(MASConstraintMaker * _Nonnull make) {
make.top.left.bottom.mas_equalTo(0);
make.width.mas_equalTo(TagWitdh);
})
.wClosableSet(YES)
.wTypeSet(warning);
增加
TagParam()
.wInsertTextClick(^(NSString * _Nonnull text, NSArray * _Nonnull modelArr) {
NSLog(@"新增回调");
})
.wMasonrySet(^(MASConstraintMaker * _Nonnull make) {
make.top.left.bottom.mas_equalTo(0);
make.width.mas_equalTo(TagWitdh);
})
.wInsertaBleSet(YES);
刷新
.wDataSet(@[])后
直接调用实例方法updateUI
[[WMZTags new] updateUI]
数据变化后tableview的刷新
tableviewCell的WMZTagDelegate代理方法
//用于外部刷新
-(void)updateCell:(id)cell data:(NSArray*)data;
要在tableview上使用需要继承WMZTagCell 可以看demo
其他可配置的全部参数说明
参数 说明 类型 可选值 默认值 是否必传
wFrame frame布局 CGRect — - 是(和maronsy二选一)
wMasonry masonry布局 TagConstraint — - 是(和wFrame二选一)
wData 数据源 NSArray — - 是
wSelectIndexData 默认选中的数据源(传下标)NSArray — - 是
wType 主题 TagColorType success/info/warning/danger — 否
wInsertaBle 是否可增加 Boolean _ false 否
wClosable 是否可删除 Boolean — false 否
wSelectOne 是否可单选 Boolean — false 否
wSelectMore 是否可多选 Boolean — false 否
wTagAlign 标签对齐模式 TagAlign TagAlignLeft/TagAlignRight TagAlignLeft 否
wHit 是否有边框描边 Boolean — false 否
wRadius 圆角 CGFloat — 5(最大为高度的一半) 否
wBoderWidth 边框宽度 CGFloat _ 1 否
wBoderColor 边框颜色 UIColor — #5297E1 否
wColor 字体颜色 UIColor — #5297E1 否
wBackGroundColor 外部背景色 UIColor — #ffffff 否
wInnerColor 内部背景色 UIColor — #CEE1F7 否
wSelectBoderColor 选中边框颜色 UIColor — #ED4985 否
wSelectColor 选中字体颜色 UIColor — #ED4985 否
wSelectInnerColor 选中内部背景色 UIColor — #F4C4C4 否
wSize 尺寸 TagSizeType medium / small / mini — 否
wFont 字体大小 CGFloat — 14 否
marginLeft 外左边距 CGFloat _ 5 否
marginRight 外右边距 CGFloat _ 0 否
marginTop 外上边距 CGFloat _ 10 否
marginBottom 外下边距 CGFloat _ 10 否
paddingLeft 内左边距 CGFloat _ 10 否
paddingTop 内上边距 CGFloat _ 10 否
btnLeft 按钮上边距 CGFloat _ 20 否
btnTop 按钮上边距 CGFloat _ 20 否
btnPaddingLeft 图文间距 CGFloat _ 5 否
textImageName 文本图片 NSString _ _ 否
imageName 纯图片 NSString _ _ 否
selecTextImageName 选中的纯图片 NSString _ _ 否
selectImageName 选中的文本图片 NSString _ _ 否
imagePosition 图文位置 TagImagePosition top/left/bottom/right right 否
wInsertPlaceholder 插入标签提示语 NSString _ +New tag 否
依赖
Masonry
安装
CocoaPods
- 将 cocoapods 更新至最新版本.
- 在 Podfile 中添加
pod 'WMZTags'
。 - 执行
pod install
或pod update
。 - 导入 #import "WMZTags.h"。
注:要消除链式编程的警告
要在Buildding Settings 把CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF 设为NO
手动安装
- 下载 WMZTags 文件夹内的所有内容。
- 将 WMZTags 内的源文件添加(拖放)到你的工程。
- 导入 #import "WMZTags.h"
系统要求
该库最低支持 iOS 9.0
和 Xcode 9.0
。
个人主页
使用过程中如果有什么bug欢迎给我提issue 我看到就会解决,如果对你有用的话给个star
WMZTags