#import "ViewController.h"
@interface ViewController () <UIPickerViewDelegate, UIPickerViewDataSource>
{
NSArray *_mapArray;
NSArray *_kindsArray;
NSArray *_detailsArray;
}
@property (weak, nonatomic) IBOutlet UIPickerView *pickerView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
_kindsArray = @[@"植物", @"动物"];
_mapArray = @[
@{@"植物": @[@"花", @"草"]},
@{@"动物": @[@"猫", @"狗", @"鸟"]}
];
_detailsArray = _mapArray[0][@"植物"];
[self.pickerView reloadAllComponents];
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return _kindsArray.count;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
switch (component) {
case 0:
return _kindsArray.count;
break;
case 1:
return _detailsArray.count;
break;
}
return 0;
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
switch (component) {
case 0:
return _kindsArray[row];
break;
case 1: {
return _detailsArray[row];
}
break;
}
return nil;
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
switch (component) {
case 0:{
NSString *key = _kindsArray[row];
_detailsArray = _mapArray[row][key];
[self.pickerView selectRow:0 inComponent:1 animated:YES];
[self.pickerView reloadComponent:1];
}
break;
default:
break;
}
}
UIPickerView的用法
最新推荐文章于 2023-12-03 21:32:04 发布