【问题标题】:UIPickerView default rowUIPickerView 默认行
【发布时间】:2017-04-20 08:36:42
【问题描述】:

如果我想在视图控制器以 [2] 或任何其他行号启动时拥有默认行,我该如何执行?

var pickerData = ["2x2","4x4","6x6","8x8","12x12"]    


override func viewDidLoad() {
    super.viewDidLoad()

    totalTilesLabel.text = pickerData[8]

    
    display.text = sentData
    self.picker.delegate = self
    self.picker.dataSource = self

}

这是 UIPicker 数据源和委托。

func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
    return 1
}

func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    return pickerData.count
}

func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
    return pickerData[row]
}

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {

}

【问题讨论】:

    标签: ios swift2 uipickerview


    【解决方案1】:

    viewDidLoad 方法中将选择器视图的选定行设置为您想要的任何初始行。这是 Swift 3 代码。根据 Swift 2 的需要进行调整。

    self.picker.selectRow(8, inComponent: 0, animated: false)
    

    【讨论】:

    • 是的,它在 Swift 2 中工作。请注意,代码行必须在 self.picker.delegate = self self.picker.dataSource = self 之后
    • 是的,如果您在设置数据源之前尝试选择该行,它将不起作用,因为选择器视图中不会有任何数据。请不要忘记接受可以解决您问题的答案。
    猜你喜欢
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 1970-01-01
    • 2012-07-31
    • 2014-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多