UIPickerView selectRow不起作用

时间:2014-11-28 02:11:13

标签: swift uipickerview

我尝试在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不起作用。

它应该选择第六行,但它会保留在第一行。

1 个答案:

答案 0 :(得分:16)

viewDidLoad方法内,您的选择器为空。由于没有第6个元素可供选择,因此不会选择它。

如果延迟执行select调用,直到数据加载完成后,您可以执行此操作。可能只有一个周期就足够了。

首先,尝试将您的选择移至viewDidAppear

祝你好运!