Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.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 2个文本字段,1个UIView中有2个选择器_Ios_Swift_Xcode_Uiviewcontroller_Uitextfield - Fatal编程技术网

Ios 2个文本字段,1个UIView中有2个选择器

Ios 2个文本字段,1个UIView中有2个选择器,ios,swift,xcode,uiviewcontroller,uitextfield,Ios,Swift,Xcode,Uiviewcontroller,Uitextfield,我在1iView中创建了一个包含2个选择器的2文本字段,但我无法在右文本字段中显示正确的选择器,因为我不知道如何识别当前活动视图。 我尝试使用标记(但只使用选择器,不使用textfield),并创建var current=UITextField() 作为一个想法的人 首先在viewDidLoad GenderTextField.delegate = self WitchSportTextField.delegate = self 将此扩展名用于已识别的TextField处于活动状态 exten

我在1iView中创建了一个包含2个选择器的2文本字段,但我无法在右文本字段中显示正确的选择器,因为我不知道如何识别当前活动视图。 我尝试使用标记(但只使用选择器,不使用textfield),并创建var current=UITextField()


作为一个想法的人

首先在
viewDidLoad

GenderTextField.delegate = self
WitchSportTextField.delegate = self
将此扩展名用于已识别的TextField处于活动状态

extension YourClass: UITextFieldDelegate {
    func textFieldDidBeginEditing(_ textField: UITextField) {
         currentTextField = textField
         picker.reloadAllComponents() //Reload for accurate data
    }
}
注意:变量名称应以小写字母开头。使用描述性名称阐明您的意图:


看看这个:

这是完整的代码

var genre = ["-","Homme","Femme"]
var Sport = ["-","Tennis"]
var genrepicker = UIPickerView()
var Sportpicker = UIPickerView()
var genretTextField = UITextField()
var SportTextField = UITextField()

override func viewDidLoad() {
        super.viewDidLoad()

    genrepicker.delegate = self
    genrepicker.dataSource = self

    Sportpicker.delegate = self
    Sportpicker.dataSource = self
    genretTextField.inputView = genrepicker
    SportTextField.inputView = Sportpicker

func numberOfComponents(in pickerView: UIPickerView) -> Int {
        return 1
    }
    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
        if pickerView == genrepicker{
        return genre.count
        }else{
            return Sport.count
        }
    }

    func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
        if pickerView == genrepicker {
            GenderTextField.text = genre[row]
        }else{
            WitchSportTextField.text = Sport[row]
        }
    }
   func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
        if pickerView == genrepicker{
        return genre[row]
         }else{
            return Sport[row]
        }
    }

使用TextField委托。
extension YourClass: UITextFieldDelegate {
    func textFieldDidBeginEditing(_ textField: UITextField) {
         currentTextField = textField
         picker.reloadAllComponents() //Reload for accurate data
    }
}
var genre = ["-","Homme","Femme"]
var Sport = ["-","Tennis"]
var genrepicker = UIPickerView()
var Sportpicker = UIPickerView()
var genretTextField = UITextField()
var SportTextField = UITextField()

override func viewDidLoad() {
        super.viewDidLoad()

    genrepicker.delegate = self
    genrepicker.dataSource = self

    Sportpicker.delegate = self
    Sportpicker.dataSource = self
    genretTextField.inputView = genrepicker
    SportTextField.inputView = Sportpicker

func numberOfComponents(in pickerView: UIPickerView) -> Int {
        return 1
    }
    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
        if pickerView == genrepicker{
        return genre.count
        }else{
            return Sport.count
        }
    }

    func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
        if pickerView == genrepicker {
            GenderTextField.text = genre[row]
        }else{
            WitchSportTextField.text = Sport[row]
        }
    }
   func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
        if pickerView == genrepicker{
        return genre[row]
         }else{
            return Sport[row]
        }
    }