如何在点击 UITextField 时停止显示键盘?
How to Stop Keyboard From Showing When UITextField is Tapped?
//Xcode 8.3.3 | Swift3
免责声明:好的,SO 上有一些问答可以回答这个问题。然而,经过广泛的谷歌搜索,我无法在 Swift 中找到任何最新的(它们都在 Objective C 中并且可以追溯到 2010 年,等等)。
我有一个项目,我需要用户能够点击 UITextField 并出现闪烁的行,但我已经有一个用 UIButtons 实现的数字键盘。这意味着我不希望在按下文本字段时出现默认键盘或任何键盘。
目前最简单的方法是什么?
你可以这样做 -
YourTextView.inputView = UIView()
YourTextView.inputAccessoryView = UIView()
这不会打开键盘但允许光标闪烁。
尝试这样做:
extension YourController: UITextFieldDelegate {
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
// do some things
NotificationCenter.default.addObserver(self, selector: #selector(keyboardHidden),
name: NSNotification.Name.UIKeyboardWillShow, object: nil)
return false
}
@objc private func keyboardHidden() {
// disabled keyboard
yourTextField.resignFirstResponder()
}
}
@paulvs 链接的答案翻译成 Swift 3 将是:
let tempView = UIView(frame: .zero)
yourTextField.inputView = tempView
//Xcode 8.3.3 | Swift3
免责声明:好的,SO 上有一些问答可以回答这个问题。然而,经过广泛的谷歌搜索,我无法在 Swift 中找到任何最新的(它们都在 Objective C 中并且可以追溯到 2010 年,等等)。
我有一个项目,我需要用户能够点击 UITextField 并出现闪烁的行,但我已经有一个用 UIButtons 实现的数字键盘。这意味着我不希望在按下文本字段时出现默认键盘或任何键盘。
目前最简单的方法是什么?
你可以这样做 -
YourTextView.inputView = UIView()
YourTextView.inputAccessoryView = UIView()
这不会打开键盘但允许光标闪烁。
尝试这样做:
extension YourController: UITextFieldDelegate {
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
// do some things
NotificationCenter.default.addObserver(self, selector: #selector(keyboardHidden),
name: NSNotification.Name.UIKeyboardWillShow, object: nil)
return false
}
@objc private func keyboardHidden() {
// disabled keyboard
yourTextField.resignFirstResponder()
}
}
@paulvs 链接的答案翻译成 Swift 3 将是:
let tempView = UIView(frame: .zero)
yourTextField.inputView = tempView