禁用UITextfield的键盘

我想知道如何禁用UITextfield的inputview。 设置textField.inputView = nil; 或ShouldBeginEditing中的[textField setInputView:nil]不会执行任何操作,并且使用userInteraction属性将删除与字段交互的function。 理想情况下,我想删除光标和键盘,同时仍然可以交互和使用ShouldBeginEditing和ShouldEndEditing的文本字段方法之间切换。 有什么办法可以做到这一点?

你应该做这个:

 myTextField.inputView = UIView.new; //Empty UIView 

将其设置nil只是表示使用了默认的键盘。

为了摆脱脱字符,子类UITextField并重写caretRectForPosition

 - (CGRect) caretRectForPosition:(UITextPosition*)position { return CGRectZero; } 

尝试这个 :

 -(BOOL)textFieldShouldBeginEditing:(UITextField *)textField { return NO; // Hide both keyboard and blinking cursor. } 

要么

 -(void)textFieldDidBeginEditing:(UITextField *)textField{ [textField resignFirstResponder]; // hides keyboard }