0

我想做的是根据从选取器中选择的内容显示特定的文本字符串。例如,选择器中的蓝色、绿色和黄色选项可供选择。当您选择蓝色时,一些文本(例如,我爱海洋!)将输出到标签。

除了在选择器中选择的内容之外,我无法更改任何其他内容的输出。

有问题的代码示例,

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本身获取数据来显示。我希望根据您在选择器中的选择显示一些其他数据(您看不到)。

4

1 回答 1

1

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

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
    label.text = "\(row + 1)"
}
于 2017-12-04T20:49:53.453 回答