我尝试在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不起作用。
它应该选择第六行,但它会保留在第一行。
答案 0 :(得分:16)
在viewDidLoad
方法内,您的选择器为空。由于没有第6个元素可供选择,因此不会选择它。
如果延迟执行select调用,直到数据加载完成后,您可以执行此操作。可能只有一个周期就足够了。
首先,尝试将您的选择移至viewDidAppear
。