选取器视图一个组件隐藏,另一个组件取消隐藏



我在选择器视图中厌倦了两个组件,即(货币),(id)并显示,但我的问题是如何在选择器视图中单独隐藏"id"组件。currency"在 responseArray 中,"id" 在 responseArray1 中。

选取器视图委托:

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;{
    return 2;
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;{
        return [responseArray count];
    }
-(NSString*) pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;{
    //return [responseArray objectAtIndex:row];
    if (component == 0) {
        return [responseArray objectAtIndex:row];
    } else {
        return [responseArray1 objectAtIndex:row];

    }
}
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component;
{
    NSLog([responseArray1 objectAtIndex:row]);
    if (component == 0) {
        [pickerView selectRow:row inComponent:1 animated:YES ];
    } else if(component == 1)
    {
        if (row != [pickerView selectedRowInComponent:0])
        {
            [pickerView selectRow:[pickerView selectedRowInComponent:0] inComponent:1 animated:YES];
        }
    }
}

根据评论回答:

 -(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;{
return 1;
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
return [responseArray count];
}
-(NSString*) pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{

return [responseArray objectAtIndex:row];

}
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
NSLog(@"rsponse currency : %@",[responseArray objectAtIndex:row]);
NSLog([responseArray1 objectAtIndex:row]);

// You can fetch value from both array using row parameter.
// You can display currency and id for particular row from here like above
}

不需要在选取器视图中显示两个组件。只需显示一个要显示的元素,然后根据所选行,您可以从数组中获取相应的元素。

希望这对:)有所帮助

最新更新