在点击UITextField时阻止键盘出现

时间:2017-08-08 06:20:33

标签: ios swift keyboard uitextfield

我正在使用 UITextField 来显示计算结果但我 希望在用户点击 UITextField <时出现键盘/强>

我正在使用UITextField,因为我仍然希望用户能够将计算复制并粘贴回UITextField,但我不希望键盘出现。

UIKeyboardWillHide 仅在显示键盘后才有效。

7 个答案:

答案 0 :(得分:3)

使用UITextField非常简单。在 viewDidLoad()

中使用此代码
self.txtresult.inputView = UIView()
  self.txtresult.inputAccessoryView = UIView()

答案 1 :(得分:3)

textField.inputView = UIView()

textFieldDidBeginEditing 函数中的这行代码将完成这项工作。

我的功能:

func textFieldDidBeginEditing(_ textField: UITextField) {
        keyboardView.activeTextField = textField
        textField.inputView = UIView()
    }

答案 2 :(得分:2)

Swift 4.2,这对我有用。 放入viewDidLoad()

//It will Hide Keyboard
textField.inputView = UIView()
//It will Hide Keyboard tool bar
textField.inputAccessoryView = UIView()
//It will Hide the cursor
textField.tintColor = .white

答案 3 :(得分:1)

您可以在UITextFieldDelegate方法textFieldDidBeginEditing:(textField: UITextField)中隐藏键盘,如下所示:

func textFieldDidBeginEditing:(textField: UITextField) {
    self.view.endEditing(true)
}

答案 4 :(得分:0)

你可以使用&#34;空&#34; inputview像这样:

func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
    let inputView = UIView(frame: .zero)
    inputView.backgroundColor = UIColor.clearColor()
    inputView.opaque = false
    textField.inputView = inputView

    return true
}

答案 5 :(得分:0)

首先在delegate课程中设置UITextField self

您可以使用以下两种方式。
1.从故事板中 2.从代码(你可以写viewDidLoad()

textField.delegate = self

然后在你的班级中声明协议UITextFieldDelegate

现在调用委托方法。

func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
    self.view.endEditing(true)
    return true
}

答案 6 :(得分:0)

对于iPad,根据response@Awais Jamil,添加以下代码

textField.inputAssistantItem.leadingBarButtonGroups = []
textField.inputAssistantItem.trailingBarButtonGroups = []