UIPickerView的用法

来源:互联网 发布:淘宝有人肉搜索吗 编辑:程序博客网 时间:2024/06/06 01:21
#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;    }}