基本上,我希望当用户按下电话号码以弹出数字键盘,并且我在情节提要中将其设置为使用普通键盘的名称相同,并且当用户想要输入日期时,日期选择器将会弹出。
但是我得到的是这三个字段在屏幕底部的小弹出窗口。我做错什么了 ???只有日期选择器弹出窗口可以正常工作,其他两个字段在底部给出此图片。
我的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()
}
}
基本上,我希望用户按下电话号码以弹出数字键盘,而我在情节提要中将其设置为具有普通键盘的名称,而日期选择器将在用户时弹出...