禁用UITextfield的键盘

时间:2013-08-13 16:58:16

标签: ios uitextfield inputview

我想知道如何禁用UITextfield的输入视图。在ShouldBeginEditing中设置textField.inputView = nil;[textField setInputView:nil]不会执行任何操作,并且使用userInteraction属性会删除与字段交互的功能。理想情况下,我想删除光标和键盘,同时仍然可以使用ShouldBeginEditing和ShouldEndEditing与textfield方法进行交互和切换。有没有办法实现这个目标?

2 个答案:

答案 0 :(得分:2)

你应该这样做:

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

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

要删除插入符,请将UITextField子类化并覆盖caretRectForPosition

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

答案 1 :(得分:0)

试试这个:

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

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