我设置了一个像上图这样的picker view,我们可以看到,在view controller出现后的起点处,selection会自动显示列表中的第一个字符串(London)。但我希望当 View 第一次出现时,它会显示列表中间的字符串选择,如下图
这是我使用的代码
class ViewController: UIViewController,UIPickerViewDelegate,UIPickerViewDataSource {
@IBOutlet weak var cityLabel: UILabel!
@IBOutlet weak var cityPicker: UIPickerView!
let city = ["London","New York","Tokyo","Kuala Lumpur","Bali","Manchester","Madrid"]
override func viewDidLoad() {
super.viewDidLoad()
// UIPickerView Delegate dan Datasource sebagai self sudah dilakukan melalui interface builder dengan mendrag ke tombol lingkaran kuning dari pickerview nya
cityLabel.text = city[6]
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return city.count
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return city[row]
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
cityLabel.text = city[row]
}
}
我应该怎么做才能做到这一点?
最佳答案
在viewDidLoad
中选择你想要的行:
override func viewDidLoad() {
super.viewDidLoad()
cityPicker.selectRow(3, inComponent: 0, animated: false)
cityLabel.text = city[cityPicker.selectedRow(inComponent:0)]
}
关于ios - 如何将选择器 View 设置在选择列表的中间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48738883/