您的位置:首页 > 产品设计 > UI/UE

UIPickerView的用法

2017-09-14 23:20 295 查看
#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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: