PickerView根据选择器选择返回某些文本字符串

时间:2017-12-04 18:45:48

标签: ios uipickerview uipickerviewcontroller uipickerviewdatasource

我想要做的是根据从Picker中选择的内容显示某个文本字符串。例如,可以在选择器中选择蓝色,绿色和黄色选项。当你选择蓝色时,一些文字(例如我爱海洋!)会输出到标签。

我已经完成了所有工作,除了我无法更改除了在选择器中选择的内容以外的任何内容。

有问题的代码示例

let colors = ["Blue", "Green", "Yellow"]

func numberOfComponents(in pickerView: UIPickerView) -> Int
{
    return 1
}

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String?
{
    return colors[row]

}

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int
{
    return colors.count
}

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
    label.text = colors[row]
}    //but I want this to return a text string when Blue is 'picked', another different string when Green is 'picked', and a third sting when Yellow is 'picked'

我设置了这样,一旦在pickerView中做出选择,数据就会出现在标签上,但就像我说的那样,我只能从pickerView本身获取数据。我希望根据您在选择器中的选择,显示一些其他数据(您不会看到)。

1 个答案:

答案 0 :(得分:1)

您在didSelectRow中输入的代码是设置颜色名称。如果需要选定的行号,请将标签设置为选定的行。

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
    label.text = "\(row + 1)"
}