Удаление текстового поля, нажав на другое текстовое поле в swift

#swift #uitextfield

#swift #uitextfield

Вопрос:

у меня есть три текстовых поля. один предназначен для отображения средства выбора даты, второй — для отображения параметров для пола, а другой — для отображения кода страны. допустим, сейчас отображается выпадающее поле «Пол», если я нажму на текстовое поле dateofbirth или contrycode, тогда пол будет скрыт. например, если отображается дата рождения, и я нажимаю текстовое поле «Пол» или «Код страны», тогда текстовое поле «Дата рождения» будет скрыто. то же самое будет работать для countrycode.

код для отображения текстового поля пола:-

 func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool{

        if textField == gender_TextField{
            tableViewOne.snp.updateConstraints { (make) in
                make.top.equalTo(textField.frame.maxY)
                make.left.equalTo(textField.frame.origin.x)
                make.right.equalTo(0-(self.containerView.frame.maxX-textField.frame.maxX))
                make.height.equalTo(0)
            }
            self.containerView.layoutIfNeeded()
            UIView .animate(withDuration: 0.4, animations: {
                self.tableViewOne.snp.updateConstraints({ (make) -> Void in
                    make.height.equalTo(130)
                })
                self.containerView.layoutIfNeeded()
            }, completion: nil)
            
            if(textField == gender_TextField){
                self.selectedTextfeild = 1
                self.selectedTextFieldType = DROPDOWN_TEXTFIELD.gender
            }
            tableViewOne.tableFooterView = UIView()
            tableViewOne.reloadData()
            tableViewOne.isHidden = !isTableViewHiden
            isTableViewHiden = !isTableViewHiden
            return false
        }

        return true
    }

 

код для отображения средства выбора даты

 
datePickerView.addTarget(self, action: #selector(dateChanged(datePicker:)), for: .valueChanged)
       datePickerView.datePickerMode = .date
       dob_TextField.inputView = datePickerView
       datePickerView.maximumDate = Date()

 

код для отображения кода страны

      countryPickerView.delegate = self
       if countryPickerView.selectedCountry.phoneCode != " 93"{
               
               countryCode_Lable.text = countryPickerView.selectedCountry.phoneCode

           }
           else{
               
               countryCode_Lable.text = " 1"

           }

 

Ответ №1:

Вы можете скрыть два других представления и отказаться от двух других текстовых полей, когда одно из них активно.