ZHPickerView是iOS的选择器组件,主要包括:日期选择器、时间选择器、地址选择器、自定义字符串选择器。
查看并运行 ZHPickerViewDemo.xcodeproj
- 在 Podfile 中添加
pod 'ZHPickerView'
。 - 执行
pod install
或pod update
。 - 导入头文件
#import <ZHPickerView.h>
。
- 将与
README.md
同级目录下的ZHPickerView
文件夹拽入项目中 - 导入头文件
#import "ZHPickerView.h"
。
- iOS 8.0+
- ARC
-
时间选择器:
ZHDatePickerView
/** * 显示时间选择器 * * @param title 标题 * @param type 类型(时间、日期、日期和时间、倒计时) * @param defaultSelValue 默认选中的时间(为空,默认选中现在的时间) * @param minDateStr 最小时间(如:2015-08-28 00:00:00),可为空 * @param maxDateStr 最大时间(如:2018-05-05 00:00:00),可为空 * @param isAutoSelect 是否自动选择,即选择完(滚动完)执行结果回调,传选择的结果值 * @param resultBlock 选择结果的回调 * */ + (void)showDatePickerWithTitle:(NSString *)title dateType:(UIDatePickerMode)type defaultSelValue:(NSString *)defaultSelValue minDateStr:(NSString *)minDateStr maxDateStr:(NSString *)maxDateStr isAutoSelect:(BOOL)isAutoSelect resultBlock:(ZHDateResultBlock)resultBlock;
方法使用:
[ZHDatePickerView showDatePickerWithTitle:@"出生年月" dateType:UIDatePickerModeDate defaultSelValue:weakSelf.birthdayTF.text minDateStr:@"" maxDateStr:[NSDate currentDateString] isAutoSelect:YES resultBlock:^(NSString *selectValue) { weakSelf.birthdayTF.text = selectValue; }];
效果图:
-
地址选择器:
ZHAddressPickerView
/** * 显示地址选择器 * * @param defaultSelectedArr 默认选中的值(传数组,元素为对应的索引值。如:@[@10, @1, @1]) * @param isAutoSelect 是否自动选择,即选择完(滚动完)执行结果回调,传选择的结果值 * @param resultBlock 选择后的回调 * */ + (void)showAddressPickerWithDefaultSelected:(NSArray *)defaultSelectedArr isAutoSelect:(BOOL)isAutoSelect resultBlock:(ZHAddressResultBlock)resultBlock;
方法使用:
[ZHAddressPickerView showAddressPickerWithDefaultSelected:@[@10, @0, @3] isAutoSelect:YES resultBlock:^(NSArray *selectAddressArr) { weakSelf.addressTF.text = [NSString stringWithFormat:@"%@%@%@", selectAddressArr[0], selectAddressArr[1], selectAddressArr[2]]; }];
效果图:
-
自定义字符串选择器:
ZHStringPickerView
/** * 显示自定义字符串选择器 * * @param title 标题 * @param dataSource 数组数据源 * @param defaultSelValue 默认选中的行(单列传字符串,多列传一维数组) * @param isAutoSelect 是否自动选择,即选择完(滚动完)执行结果回调,传选择的结果值 * @param resultBlock 选择后的回调 * */ + (void)showStringPickerWithTitle:(NSString *)title dataSource:(NSArray *)dataSource defaultSelValue:(id)defaultSelValue isAutoSelect:(BOOL)isAutoSelect resultBlock:(ZHStringResultBlock)resultBlock; /** * 显示自定义字符串选择器 * * @param title 标题 * @param plistName plist文件名 * @param defaultSelValue 默认选中的行(单列传字符串,多列传一维数组) * @param isAutoSelect 是否自动选择,即选择完(滚动完)执行结果回调,传选择的结果值 * @param resultBlock 选择后的回调 * */ + (void)showStringPickerWithTitle:(NSString *)title plistName:(NSString *)plistName defaultSelValue:(id)defaultSelValue isAutoSelect:(BOOL)isAutoSelect resultBlock:(ZHStringResultBlock)resultBlock;
方法使用:
// 自定义单列字符串 [ZHStringPickerView showStringPickerWithTitle:@"学历" dataSource:@[@"大专以下", @"大专", @"本科", @"硕士", @"博士", @"博士后"] defaultSelValue:@"本科" isAutoSelect:YES resultBlock:^(id selectValue) { weakSelf.educationTF.text = selectValue; }]; // 自定义多列字符串 NSArray *dataSources = @[@[@"第1周", @"第2周", @"第3周", @"第4周", @"第5周", @"第6周", @"第7周"], @[@"第1天", @"第2天", @"第3天", @"第4天", @"第5天", @"第6天", @"第7天"]]; [ZHStringPickerView showStringPickerWithTitle:@"自定义多列字符串" dataSource:dataSources defaultSelValue:@[@"第3周", @"第3天"] isAutoSelect:YES resultBlock:^(id selectValue) { weakSelf.otherTF.text = [NSString stringWithFormat:@"%@,%@", selectValue[0], selectValue[1]]; }];
效果图:
自定义单列字符串 自定义多列字符串
ZHPickerView 使用 MIT 许可证,详情见 LICENSE 文件。