我想要做的是根据从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本身获取数据。我希望根据您在选择器中的选择,显示一些其他数据(您不会看到)。
答案 0 :(得分:1)
您在didSelectRow
中输入的代码是设置颜色名称。如果需要选定的行号,请将标签设置为选定的行。
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
label.text = "\(row + 1)"
}