How do I add multiple components to a PickerView?

前端 未结 5 794
北海茫月
北海茫月 2021-01-07 00:07

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

5条回答
  •  醉酒成梦
    2021-01-07 00:33

    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]]]; 
    }
    

提交回复
热议问题