弹出式键盘出现在屏幕底部,我希望出现与每种UITExtfield类型相关的键盘

问题描述 投票:0回答:1

基本上,我希望当用户按下电话号码以弹出数字键盘,并且我在情节提要中将其设置为使用普通键盘的名称相同,并且当用户想要输入日期时,日期选择器将会弹出。

但是我得到的是这三个字段在屏幕底部的小弹出窗口。我做错什么了 ???只有日期选择器弹出窗口可以正常工作,其他两个字段在底部给出此图片。

In the bottom of the screen there is a popup that holds the placeholder value with a done Button and this is not what i want w

我的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()
    }
}
    

基本上,我希望用户按下电话号码以弹出数字键盘,而我在情节提要中将其设置为具有普通键盘的名称,而日期选择器将在用户时弹出...

ios swift xcode uitextfield first-responder
1个回答
0
投票
在模拟器中,转到硬件>键盘>切换软件键盘,或者您可以使用快捷键
© www.soinside.com 2019 - 2024. All rights reserved.