Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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 一个ViewController中的多个UIPickerView_Ios_Swift_Uitextfield_Uipickerview - Fatal编程技术网

Ios 一个ViewController中的多个UIPickerView

Ios 一个ViewController中的多个UIPickerView,ios,swift,uitextfield,uipickerview,Ios,Swift,Uitextfield,Uipickerview,我有两个UiTextfield,当单击相应的UiTextfield时,它们应该显示不同的UiPickerView。。。。。。。 所以我用了这个 if(textField.isFirstResponder()==true) 要查找已单击的文本字段…此操作无效 class ViewController: UIViewController, UIPickerViewDataSource , UIPickerViewDelegate { var pickerData = ["11", "12", "

我有两个UiTextfield,当单击相应的UiTextfield时,它们应该显示不同的UiPickerView。。。。。。。 所以我用了这个 if(textField.isFirstResponder()==true) 要查找已单击的文本字段…此操作无效

class ViewController: UIViewController, UIPickerViewDataSource , UIPickerViewDelegate {

var pickerData  = ["11", "12", "13"]
var pickerDataOthr = ["ada","daad","ada","daad","ada","daad","ada","daad"]
@IBOutlet weak var textField: UITextField!
@IBOutlet weak var textFieldTwo: UITextField!
@IBOutlet weak var tftw: UITextField!



func pickerCode(){

    let picker: UIPickerView
    picker = UIPickerView(frame: CGRectMake(0, 200, view.frame.width, 300))
    picker.backgroundColor = .whiteColor()

    picker.showsSelectionIndicator = true
    picker.delegate = self
    picker.dataSource = self

    let toolBar = UIToolbar()
    toolBar.barStyle = UIBarStyle.Default
    toolBar.translucent = true
    toolBar.tintColor = UIColor(red: 76/255, green: 217/255, blue: 100/255, alpha: 1)
    toolBar.sizeToFit()

    let doneButton = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.Plain, target: self, action: "donePicker")
    let spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil)
    let cancelButton = UIBarButtonItem(title: "Cancel", style: UIBarButtonItemStyle.Plain, target: self, action: "donePicker")

    toolBar.setItems([cancelButton, spaceButton, doneButton], animated: false)
    toolBar.userInteractionEnabled = true

}

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

func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int{
    var count: Int
    if(textField.isFirstResponder() == true)
    {
        count = pickerData.count
    }
    else
    {
        count = pickerDataOthr.count
    }
    return count
}

func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
    var stro:String
    if(textField.isFirstResponder() == true)
    {
        stro = pickerData[row]
    }
    else
    {
        stro = pickerDataOthr[row]
    }
    return stro
}

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
    if(textField.isFirstResponder() == true)
    {
         textField.text = pickerData[row]
    }
    else
    {
        textFieldTwo.text = pickerDataOthr[row]
    }

}

func donePicker(){
    if(textField.isFirstResponder() == true)
    {
        textField.resignFirstResponder()
    }
    else
    {
        textFieldTwo.resignFirstResponder()
    }

}

func canclePicker(){
    if(textField.isFirstResponder() == true)
    {
        textField.resignFirstResponder()
    }
    else
    {
        textFieldTwo.resignFirstResponder()
    }
}

}

向每个文本字段添加标记

 var tagMaster: Int!

 func setUpTag(){
   textField.tag = 1
   textField.delegate = self
   textFieldtwo.tag = 2
   textFieldtwo.delegate = self
 }
在picker helper方法中,通过picker标记识别单击的picker。代替

 textField.isFirstResponder()
我曾经
textField.tag

从何处调用pickerCode()方法?