如何在 UIPickerView 中选择不同组件的完整行?

Posted

技术标签:

【中文标题】如何在 UIPickerView 中选择不同组件的完整行?【英文标题】:How can i select the complete row for different components in UIPickerView? 【发布时间】:2012-11-11 18:10:20 【问题描述】:

我在 PickerView 中有 4 个组件。 I want to select the complete row in all the components when row 0 of component 0 is selected.同样,对于每个组件的每隔一行。有没有办法为所有人扩展单一选择?

任何帮助将不胜感激。

【问题讨论】:

你的意思是如果用户选择了组件0的第1行,你想自动选择组件1、2、3的第1行吗? 是的,完全正确。我不希望选择仅限于组件的一行。我该怎么做? 【参考方案1】:

实现UIPickerView委托方法pickerView:didSelectRow:inComponent:

// called when a user selects a row
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 
    // This code assumes all four components have the same number of rows
    for (NSInteger c = 0; c < pickerView.numberOfComponent; c++) 
        if (c != component) 
            [pickerView selectRow:row inComponent:c animated:NO]; // animate if desired
        
    

    // do any other desired actions (if any) when a row is selected

另一种选择是在每行中只使用一个组件显示所有四组数据。如果用户不能为每个组件选择不同的值,那么拥有 4 个组件就没有多大意义。

【讨论】:

这个问题有什么解决办法吗? ***.com/questions/13339856/…

以上是关于如何在 UIPickerView 中选择不同组件的完整行?的主要内容,如果未能解决你的问题,请参考以下文章

具有三个组件的自定义 UIPickerView,每个组件在选择指示器上显示标签

如何获取 UIPickerView 中组件的位置?

如何在具有多个组件的 UIPickerView 中为特定组件添加图像?

如何停止 UIPickerView 的可重用性

如何使用双组件 UIPickerview 调用转换

如何使用 UIPickerView 在一个视图中填充不同的文本字段?