屏幕底部出现一个弹出键盘,我希望出现一个与每种类型的 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 相关的键盘的主要内容,如果未能解决你的问题,请参考以下文章

如何在单击按钮时弹出默认的iphone键盘

将反应原生弹出窗口定位在屏幕底部

Android - 键盘弹出时调整屏幕?

当软键盘出现在phonegap中时隐藏输入字段

底部 TabLayout 位于键盘顶部

出现键盘时,简单的 SwiftUI 背景图像一直在移动