Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在一个页面中实现多个UIPickerView?_Ios_Swift_Uipickerview - Fatal编程技术网

Ios 如何在一个页面中实现多个UIPickerView?

Ios 如何在一个页面中实现多个UIPickerView?,ios,swift,uipickerview,Ios,Swift,Uipickerview,我正在文本字段中实现UIPickerView,如下所示: public func numberOfComponents(in pickerView: UIPickerView) -> Int{ return 1 } public func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { return states.count // stat

我正在文本字段中实现
UIPickerView
,如下所示:

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

public func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    return states.count // states is an array of strings
}

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

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
    textField.text = states[row]
    self.view.endEditing(false)
}

我想要另一个实现
UIPickerView
的文本字段。我该怎么做?我可以更改上面实现的方法以包含两个文本字段吗?

您可以轻松地为每个pickerView设置一个标记值,例如:

let firstPV = UIPickerView()
pickerV.tag = 1

let secondPV = UIPickerView()
secondPV.tag = 2
这样,您只需评估PickerView协议中的标记属性,如:

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

    switch pickerView.tag {
        case 1:
            return 1
        case 2:
            return 3
    default:
        return 0
    }
}