ios - 如何将选择器 View 设置在选择列表的中间?

标签 ios swift uipickerview

enter image description here

我设置了一个像上图这样的picker view,我们可以看到,在view controller出现后的起点处,selection会自动显示列表中的第一个字符串(London)。但我希望当 View 第一次出现时,它会显示列表中间的字符串选择,如下图

enter image description here

这是我使用的代码

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/

相关文章:

ios - 类方法+setLoggingEnabled : not found

android - 无法使用 gorillalogic 的猴子谈话

swift - 为什么在此示例中使用强制展开?

ios - 解析注册方法错误

swift - 将多个 pickerView 选定值导出到 UILabel 上的数字

iphone - 如何在 iPhone 中制作组合框

ios - UIPickerView 卡住 UI

objective-c - 更改目标的 super View 后检测 TouchesEnded

swift - 在一个循环中初始化多个不可变数组

ios - 检测从 iOS Google Chrome 浏览器安装的 native 应用程序