Y_PickerView
对 UIDatePicker/UIPickerView 进行封装,快速创建一个多种样式的 PickerView 选择器。
功能
一般的选择器都由一个点击事件触发,然后弹出视图,选择后消失。因此简单地封装一个 UIViewController,其中包含 UIDatePicker/UIPickerView。视图可以通过传入的自定义数组来创建,选择结果可以通过 block 获取。
现阶段主要有三种模式展示:
-
日期选择器-UIDatePicker,使用自带的 datePickerMode 切换样式
-
自定义的 UIPickerView,通过传入的数组数据创建单列或多列 PickerView
-
省市县选择器,通过传入的模型数组创建选择器
特别之处在于创建时可以指定 displayProperty
,这个就是你传入的对象数组中,你想要在 PickerView 中显示的那个对象模型的属性。
这样做的目的是,这个库不关心你的数据模型是什么,只要告诉我你想要在 PickerView 中展示的文字所对应的模型的字段就可以。
省市县的 subArrProperty
也是同理。
安装
1.手动安装
下载 Example 后,将子文件夹 Y_PickerView
拖入项目中,导入头文件 Y_PickerViewController.h
即可开始使用。
2.CocoaPods 安装
pod 'Y_PickerView'
pod install 或 pod install --verbose --no-repo-update
使用
- 日期选择器
Y_PickerViewController *picker = [[Y_PickerViewController alloc] initDatePickerWithCompletionHandle:^(NSDate *selectDate) {
}];
[picker showPickerVC:self];
- 自定义PickerView
NSArray *data = @[@[@"Objective-C", @"Swift", @"Java", @"Python", @"Hello World"]];
Y_PickerViewController *picker = [[Y_PickerViewController alloc] initCustomPickerWithArray:data displayProperty:@"DisplayName" defaultValue:nil completionHandle:^(NSDictionary *selectedIndexDic, NSDictionary *selectedValueDic) {
NSString *selected = [selectedValueDic valueForKey:@"0"];
}];
[picker showPickerVC:self];
- 省市县PickerView
NSArray *areaList = [NSArray yy_modelArrayWithClass:[AreaModel class] json:jsonData];
Y_PickerViewController *picker = [[Y_PickerViewController alloc] initCityPickerWithArray:areaList displayProperty:@"name" subArrProperty:@"subArr" completionHandle:^(NSDictionary *selectedIndexDic, NSDictionary *selectedValueDic) {
AreaModel *province = [selectedValueDic valueForKey:@"0"];
AreaModel *city = [selectedValueDic valueForKey:@"1"];
AreaModel *county = [selectedValueDic valueForKey:@"2"];
}];
[picker showPickerVC:self];
示例
详细使用请参见 示例