【问题标题】:UIPickerView get selected value without datasourceUIPickerView 在没有数据源的情况下获取选定的值
【发布时间】:2020-07-19 14:37:45
【问题描述】:

在没有数据源的情况下从 PickerView 获取值的最佳方法是什么?所以我无法从数组中读取值。

当前值只是行号,我需要在用户完成挑选后读取。

func numberOfComponents(in pickerView: UIPickerView) -> Int {
    return 3
}

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    if component == 0 {
        return 300
    } else {
        return 10
    }
}

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
    if component == 0 {
        return "\(row)."
    } else {
        return "\(row)"
    }
}

【问题讨论】:

    标签: ios objective-c swift xcode uipickerview


    【解决方案1】:

    您可以使用pickerView.selectedRow(inComponent:)

    let firstValue = pickerView.selectedRow(inComponent: 0)
    let secondValue = pickerView.selectedRow(inComponent: 1)
    

    两者都只是一个Int 值,表示其各自组件中当前选定的行索引。而且由于您的值是从 0 开始的,因此您可以直接使用这些值。

    【讨论】:

      【解决方案2】:

      你只需添加这个函数:

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

      请注意该行从 0 开始

      【讨论】:

        猜你喜欢
        • 2016-09-07
        • 2013-10-10
        • 2020-04-13
        • 2015-07-18
        • 1970-01-01
        • 2012-01-23
        • 2015-03-04
        • 2013-09-18
        相关资源
        最近更新 更多