屏幕底部出现一个弹出键盘,我希望出现一个与每种类型的 UITextfield 相关的键盘
Posted
技术标签:
【中文标题】屏幕底部出现一个弹出键盘,我希望出现一个与每种类型的 UITextfield 相关的键盘【英文标题】:A popUp keyboard appears in the bottom of the screen, I want a keyboard to appear related to each type of UITExtfield 【发布时间】:2020-06-16 07:30:45 【问题描述】:基本上,我希望当用户按下电话号码以弹出数字键盘时,我在 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()
【问题讨论】:
您正在模拟器中运行,这就是原因。转到模拟器 --> I/O --> 键盘 --> 连接硬件键盘,Command + Shift + K 也可以 解决这个问题真的很顺利谢谢你:) 【参考方案1】:在模拟器中转到硬件>键盘>切换软件键盘,或者您可以使用快捷方式
【讨论】:
以上是关于屏幕底部出现一个弹出键盘,我希望出现一个与每种类型的 UITextfield 相关的键盘的主要内容,如果未能解决你的问题,请参考以下文章