【发布时间】:2016-10-26 22:24:31
【问题描述】:
我尝试在我的 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 不起作用。
它应该选择第六行,但它停留在第一行。
【问题讨论】:
-
再次检查您的
IBOutlet是否正确绑定 -
顺便说一句:从架构的角度来看,viewDidLoad 是不是有点太早了......?在 viewWillAppear 或 viewDidAppear 上选择行可能会更好。我认为你的代码现在可能有无效的订单,你检查过什么叫做 1st 吗?
-
我已经仔细检查了我正确绑定的 IBOutlet,是的。我也尝试用 viewWillAppear 更改 viewDidLoad 但它仍然不起作用
标签: swift uipickerview