It may be a simple question but how do I add multiple components to a UIPickerView? I use NSMutableArray to populate one component but I dont know how to populate the others
I do not know if it's a little late But I solved this another way Array are a bit rudimentary But it works wonders You can even put different color to each array
- (void) viewDidLoad {
horPickerArray = @[@"00",@"01",@"02",@"03",@"04",@"05".to..24];
minPickerArray = @[@"00",@"01",@"02",@"03",@"04",@"05".to..59];
secPickerArray = @[@"00",@"01",@"02",@"03",@"04",@"05".to..59];
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 3;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
if (component == 0) {
return _HorPickerArray.count ;
}
else if (component == 1) {
return _MinPickerArray.count ;
}
else if (component == 2) {
return _SecPickerArray.count ;
}
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
if (component == 0) {
return [_HorPickerArray objectAtIndex:row];
}
else if (component == 1) {
return [_MinPickerArray objectAtIndex:row];
}
else if (component == 2) {
return [_SecPickerArray objectAtIndex:row];
}
return nil;
}
And Print in TextField
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
_OficialTime.text =[NSString stringWithFormat: @"%@:%@:%@", [_HorPickerArray objectAtIndex:[_TimerPiker selectedRowInComponent:0]],[_MinPickerArray objectAtIndex:[_TimerPiker selectedRowInComponent:1]], [_SecPickerArray objectAtIndex:[_TimerPiker selectedRowInComponent:2]]];
}