iOS UIPickerView 简单使用

首先在viewDidLoad 的方法中创建

- (void)viewDidLoad {

[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

// 选择框

UIPickerView *pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 100, 320, 216)];

// 显示选中框

pickerView.showsSelectionIndicator=YES;

pickerView.dataSource = self;

pickerView.delegate = self;

[self.view addSubview:pickerView];

_proTimeList = [[NSArray alloc]initWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10",nil];

_proTitleList = [[NSArray alloc]initWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10",nil];

}

然后,我们创建相关的代理方法

UIPickerViewDataSource 相关代理

#pragma Mark -- UIPickerViewDataSource

// pickerView 列数

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {

return 2;

}

// pickerView 每列个数

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {

if (component == 0) {

return [_proTitleList count];

}

return [_proTimeList count];

}

UIPickerViewDelegate 相关代理方法

#pragma Mark -- UIPickerViewDelegate

// 每列宽度

- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component {

if (component == 1) {

return 40;

}

return 180;

}

// 返回选中的行

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component

{

if (component == 0) {

NSString  *_proNameStr = [_proTitleList objectAtIndex:row];

NSLog(@"nameStr=%@",_proNameStr);

} else {

NSString  *_proTimeStr = [_proTimeList objectAtIndex:row];

NSLog(@"_proTimeStr=%@",_proTimeStr);

}

}

//返回当前行的内容,此处是将数组中数值添加到滚动的那个显示栏上

-(NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component

{

if (component == 0) {

return [_proTitleList objectAtIndex:row];

} else {

return [_proTimeList objectAtIndex:row];

}

}

你可能感兴趣的:(iOS UIPickerView 简单使用)