- 一行代码即可集成。
- 支持任意列数据联动展示。
- 支持自定义界面中子控件的文字颜色、文字字体。
- 支持自定义PickerView的属性:PickerView的高度、PickerView一行的高度、选中内容和未选中内容文字属性、选中行分割线背景颜色。
- 支持自定义背景透明度和是否接收背景触摸事件。
- 支持选择完内容回调,每一列选中的值用逗号分隔开。
- 支持已选择内容是否展示在标题上及展示时是否默认滚动到已选择内容那一行。
From CocoaPods【使用CocoaPods】
- Drag all source files under floder
ZJPickerView
to your project.【将ZJPickerView
文件夹中的所有源代码拽入项目中】
- Import the main header file:
#import "ZJPickerView.h"
【导入主头文件:#import "ZJPickerView.h"
】
ZJPickerView.h
ZJPickerView.m
[ZJPickerView zj_showWithDataList:@[@"IT", @"销售", @"自媒体", @"游戏主播", @"产品策划"] propertyDict:nil completion:^(NSString *selectContent) {
NSLog(@"ZJPickerView log tip:---> selectContent:%@", selectContent);
}];
User-defined properties【自定义想要的PickerView】
// 支持的属性列表
// content: NSString type
extern NSString * _Nonnull const ZJPickerViewPropertyCanceBtnTitleKey; // cance button Title(取消按钮)
extern NSString * _Nonnull const ZJPickerViewPropertySureBtnTitleKey; // sure button Title(确定按钮)
extern NSString * _Nonnull const ZJPickerViewPropertyTipLabelTextKey; // tipLabel text(选择提示标签)
// color: UIColor type
extern NSString * _Nonnull const ZJPickerViewPropertyCanceBtnTitleColorKey; // cance button Title color(取消按钮文字颜色)
extern NSString * _Nonnull const ZJPickerViewPropertySureBtnTitleColorKey; // sure button Title color(确定按钮文字颜色)
extern NSString * _Nonnull const ZJPickerViewPropertyTipLabelTextColorKey; // tipLabel text color(选择提示标签文字颜色)
extern NSString * _Nonnull const ZJPickerViewPropertyLineViewBackgroundColorKey; // lineView backgroundColor(顶部工具条分割线背景颜色)
// font: UIFont type
extern NSString * _Nonnull const ZJPickerViewPropertyCanceBtnTitleFontKey; // cance button label font, default 17.0f(取消按钮字体大小)
extern NSString * _Nonnull const ZJPickerViewPropertySureBtnTitleFontKey; // sure button label font, default 17.0f(确定按钮字体大小)
extern NSString * _Nonnull const ZJPickerViewPropertyTipLabelTextFontKey; // tipLabel font, default 17.0f(选择提示标题字体大小)
// pickerView:
// CGFloat type
extern NSString * _Nonnull const ZJPickerViewPropertyPickerViewHeightKey; // pickerView height, default 224 pt(pickerView高度)
extern NSString * _Nonnull const ZJPickerViewPropertyOneComponentRowHeightKey; // one component row height, default 32 pt(pickerView一行的高度)
// NSDictionary type
extern NSString * _Nonnull const ZJPickerViewPropertySelectRowTitleAttrKey; // select row titlt attribute(pickerView当前选中的文字颜色)
extern NSString * _Nonnull const ZJPickerViewPropertyUnSelectRowTitleAttrKey; // unSelect row titlt attribute(pickerView当前没有选中的文字颜色)
// UIColor type
extern NSString * _Nonnull const ZJPickerViewPropertySelectRowLineBackgroundColorKey; // select row top and bottom line backgroundColor(选中行顶部和底部分割线背景颜色)
// other:
// BOOL type
extern NSString * _Nonnull const ZJPickerViewPropertyIsTouchBackgroundHideKey; // touch background is hide, default NO(是否点击背景隐藏)
extern NSString * _Nonnull const ZJPickerViewPropertyIsShowSelectContentKey; // scroll component is update and show select content in tipLabel, default NO(选择内容后是否更新选择提示标签)
extern NSString * _Nonnull const ZJPickerViewPropertyIsScrollToSelectedRowKey; // when pickerView will show scroll to selected row, default NO. note:`ZJPickerViewPropertyTipLabelTextKey` Must pass by value(将要显示时是否滚动到已选择内容那一行,注意,选择提示标签tipLabel必须传内容,比如之前选择了`北京`,此时就需要传入`北京`)
extern NSString * _Nonnull const ZJPickerViewPropertyIsAnimationShowKey; // show pickerView is need Animation, default YES(显示pickerView时是否带动画效果)
// CGFloat type
extern NSString * _Nonnull const ZJPickerViewPropertyBackgroundAlphaKey; // background alpha, default 0.5(0.0~1.0)(背景视图透明度)
// 使用
// 1.Custom propery(自定义属性)
NSDictionary *propertyDict = @{ZJPickerViewPropertyCanceBtnTitleKey : @"取消",
ZJPickerViewPropertySureBtnTitleKey : @"确定",
ZJPickerViewPropertyTipLabelTextKey : @"提示内容",
ZJPickerViewPropertyCanceBtnTitleColorKey : [UIColor zj_colorWithHexString:@"#A9A9A9"],
ZJPickerViewPropertySureBtnTitleColorKey : [UIColor zj_colorWithHexString:@"#FF6347"],
ZJPickerViewPropertyTipLabelTextColorKey : [UIColor zj_colorWithHexString:@"#231F20"],
ZJPickerViewPropertyLineViewBackgroundColorKey : [UIColor zj_colorWithHexString:@"#dedede"],
ZJPickerViewPropertyCanceBtnTitleFontKey : [UIFont systemFontOfSize:17.0f],
ZJPickerViewPropertySureBtnTitleFontKey : [UIFont systemFontOfSize:17.0f],
ZJPickerViewPropertyTipLabelTextFontKey : [UIFont systemFontOfSize:17.0f],
ZJPickerViewPropertyPickerViewHeightKey : @300.0f,
ZJPickerViewPropertyOneComponentRowHeightKey : @40.0f,
ZJPickerViewPropertySelectRowTitleAttrKey : @{NSForegroundColorAttributeName : [UIColor zj_colorWithHexString:@"#FF6347"], NSFontAttributeName : [UIFont systemFontOfSize:20.0f]},
ZJPickerViewPropertyUnSelectRowTitleAttrKey : @{NSForegroundColorAttributeName : [UIColor zj_colorWithHexString:@"#A9A9A9"], NSFontAttributeName : [UIFont systemFontOfSize:20.0f]},
ZJPickerViewPropertySelectRowLineBackgroundColorKey : [UIColor zj_colorWithHexString:@"#dedede"],
ZJPickerViewPropertyIsTouchBackgroundHideKey : @YES,
ZJPickerViewPropertyIsShowSelectContentKey : @YES,
ZJPickerViewPropertyIsScrollToSelectedRowKey: @YES,
ZJPickerViewPropertyIsAnimationShowKey : @YES};
// 2.Show(显示)
__weak typeof(_selectContentLabel) weak_selectContentLabel = _selectContentLabel;
[ZJPickerView zj_showWithDataList:dataList propertyDict:propertyDict completion:^(NSString *selectContent) {
NSLog(@"ZJPickerView log tip:---> selectContent:%@", selectContent);
}];
- 如果在使用过程中遇到BUG,请Issues我,谢谢。
- 如果你想为ZJPickerView输出代码,请拼命Pull Requests我。
- 联系我😯 :简书 微博