В основном я хочу, чтобы, когда пользователь нажимал номер телефона, появлялась цифровая клавиатура, и я установил это в раскадровке так же, как и для имени с обычной клавиатурой, и всплывающее окно выбора даты появится, когда пользователь захочет ввести дату.
Тем не менее, я получаю это маленькое всплывающее окно внизу экрана для трех полей. что я сделал не так ??? Только всплывающее окно выбора даты работает нормально, два других поля дают это изображение внизу
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()
}
}