基本上,我希望当用户按下电话号码时弹出数字键盘,我在Storyboard中将其设置为与普通键盘的名称相同,当用户想输入日期时,日期选择器将弹出。
然而,我得到的是屏幕底部的这三个字段的小弹出窗口。我做错了什么?只有日期选择器弹出窗口才能正常工作,其他两个字段在底部显示此图片

我的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()
}
}发布于 2020-06-16 16:08:47
在模拟器中,转到硬件>键盘>切换软件键盘,也可以使用快捷键
https://stackoverflow.com/questions/62403189
复制相似问题