对于我正在处理的应用,我想要的是,当视图显示时,选择器视图已经在某一行,并且我不需要触摸它(除非我需要它)。
我知道在SO上有很多像这样的问题,但我无法找到答案。
现在,这是做了什么以及有效的:
但是,当我尝试保存而不触碰它时,它就像没有被选中一样。我选择PickerView来选择我想要的行,即使它是我所选择的那一行"起初。
我选择了以下行:
pickerViewAction.selectRow(inPickerViewAction.index(of: temp?[0] as! String)!, inComponent: 0, animated: true)
inPickerViewAction.index(of: temp?[0] as! String)!
是我需要的行。
我如何测试是否选择了一行(也许我的问题来自这里,我不知道......)
let selectedValue1 = inPickerViewAction[Row]
switch selectedValue1 {
case "Email" :
//Doing my stuff
case "Commande http", name1, name2, name3, name4, name5:
//Doing my stuff
default:
let alert = UIAlertController(title: "Nothing selected", message: "You must select an item before saving", preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: nil))
self.present(alert, animated: true, completion: nil)
break
现在,如果我没有触摸UIPickerView,我就会看到UIAlert。
如果有人有想法,那就太棒了。 感谢
答案 0 :(得分:0)
例如,如果要选择第一行: 您需要调用这两个:
//first call :
pickerViewAction.selectRow(0, inComponent: 0, animated: true)
// then call the delegate : didSelectRow
pickerView(pickerViewAction, didSelectRow: 0, inComponent: 0)