使用后重置 UIPickerview?

Reset UIPickerview after use?

我有一个 0-20 的 UIPickerview。我希望用户被迫 select 一个介于 1 和 20 之间的整数。如果选择器为 0,则应弹出警报。 selection 通过按下按钮确认,与警报相同。 我这样做了:

pickerView.reloadAllComponents()
pickerView.selectRow(0, inComponent: 0, animated: true)    

这一次效果很好。选择器 return 到 0,但是如果下一个用户忘记 select 一个数字,选择器会打印上一个用户 selected 的任何内容,而不是它实际显示的 0。

如何让 pickerView 了解它已 returned 为 0?

您可以在按下按钮时将 didSelectRow 中使用的变量设置为 0。
如果你有:
var chosenPickerViewNumber = Int()

并填充您拥有的 pickerView:

let pickerViewNumbers = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
    {
       chosenPickerViewNumber = pickerViewNumbers[row]
    }    

你可以简单地做:

@IBAction func yourButton(_ sender: UIButton){
     //Do stuff with the pickerView.    
      //Then:    
      chosenPickerViewNumber = 0   
    }