Внизу экрана появляется всплывающая клавиатура, я хочу, чтобы клавиатура отображалась для каждого типа поля UITExtfield. - PullRequest
0 голосов
/ 16 июня 2020

В основном я хочу, чтобы, когда пользователь нажимал номер телефона, появлялась цифровая клавиатура, и я установил это в раскадровке так же, как и для имени с обычной клавиатурой, и всплывающее окно выбора даты появится, когда пользователь захочет ввести дату.

Тем не менее, я получаю это маленькое всплывающее окно внизу экрана для трех полей. что я сделал не так ??? Только всплывающее окно выбора даты работает нормально, два других поля дают это изображение внизу

In the bottom of the screen there is a popup that holds the placeholder value with a done Button and this is not what i want w

My ViewdidLoad

class SignUp : BaseViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        renderButton()
        fullName.delegate = self
        birthDate.delegate = self
        phoneNumber.delegate = self
    }

Мой DatePicker для текстового поля даты

@objc func datePickerValueChanged(sender : UIDatePicker) {
    let formatter = DateFormatter()
    formatter.dateStyle = .medium
    formatter.dateFormat = "yyyy-MM-dd"
    formatter.timeStyle = .none
    birthDate.text! = formatter.string(from: sender.date).formattedDate!
}

И расширения UITEXTFIELD

extension SignUp : UITextFieldDelegate {

    func  textFieldDidBeginEditing(_ textField: UITextField) {
        if textField == birthDate {
            textField.layer.borderColor = UIColor.topaz.cgColor


        } else if textField == fullName {
            textField.layer.borderColor = UIColor.topaz.cgColor
        } else if textField == phoneNumber {
            textField.layer.borderColor = UIColor.topaz.cgColor
        }
        textField.becomeFirstResponder()
    }
    func textFieldDidEndEditing(_ textField : UITextField) {
        if textField == birthDate {
            textField.layer.borderColor = UIColor.clear.cgColor
        } else if textField == fullName {
            textField.layer.borderColor = UIColor.clear.cgColor
        } else if textField == phoneNumber {
            textField.layer.borderColor = UIColor.clear.cgColor
        }
        textField.resignFirstResponder()
    }
}

1 Ответ

3 голосов
/ 16 июня 2020

в симуляторе go в меню «Оборудование»> «Клавиатура»> «Переключить программную клавиатуру», или вы можете использовать ярлык

...