.telephoneNumber 无法在 UITextfield 上设置建议的手机

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

.telephoneNumber 无法将键盘中建议的手机号码设置到我的文本字段(仅在设备中运行)

lazy var mobileTextField : UITextField = {
        let s = UITextField()
        s.textColor = UIColor.black
        s.backgroundColor = UIColor.white
        s.keyboardType = .phonePad
        s.textContentType = .telephoneNumber
        s.addTarget(self, action: #selector(textFieldDidChange(_:)), for: UIControl.Event.editingDidEndOnExit)
        s.delegate = self
        return s
    }()

  @objc override func textFieldDidChange(_ textField: UITextField) {
        print("textFieldDidChange = \(textField.text)")
            guard let currentText = textField.text else {
                return
            }
           textField.text = currentText
        }
ios swift xcode uitextfield
1个回答
0
投票

当您使用 UITextField 并尝试将文本输入类型设置为建议的手机号码时,您需要确保文本字段已正确配置为接受电话号码。在 Swift 中,这可以通过设置 UITextField 的 KeyboardType 和 textContentType 属性来完成。

这是一个示例实现:

迅速 复制代码 导入 UIKit

ViewController 类:UIViewController {

@IBOutlet weak var phoneNumberTextField: UITextField!

override func viewDidLoad() {
    super.viewDidLoad()
    setupPhoneNumberTextField()
}

private func setupPhoneNumberTextField() {
    phoneNumberTextField.keyboardType = .phonePad
    if #available(iOS 12.0, *) {
        phoneNumberTextField.textContentType = .telephoneNumber
    } else {
        // Fallback on earlier versions
        phoneNumberTextField.textContentType = .init(rawValue: "telephoneNumber")
    }
}

}

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.