我尝试在我的PickerView中选择一行,但是它不起作用。它停留在第一行。
这是我的代码:
@IBOutlet weak var pickerView: UIDatePicker! func numberOfComponentsInPickerView(pickerView: UIPickerView!) -> Int { return 1 } func pickerView(pickerView: UIPickerView!, numberOfRowsInComponent component: Int) -> Int { return 10 } func pickerView(pickerView: UIPickerView!, titleForRow row: Int, forComponent component: Int) -> String!{ return String(row + 1) } //In viewDidLoad pickerView.selectRow(6, inComponent: 0, animated: true)
pickerView运行良好,显示1到10,但selectRow不起作用。
它应选择第六行,但仍保留在第一行上。
在viewDidLoad方法内部时,选择器为空。由于没有要选择的第六个元素,因此不选择它。
viewDidLoad
如果将select调用的执行延迟到数据加载完成后才可以执行。一个周期就足够了。
不过,首先尝试将您的选择移至viewDidAppear。
viewDidAppear
祝好运!