質問

I'm wondering how to disable the inputview of a UITextfield. Setting textField.inputView = nil; or [textField setInputView:nil] in ShouldBeginEditing doesn't do anything, and using the userInteraction property removes the ability to interact with the field. Ideally, I'd like to remove both the cursor and the keyboard while still being able interact with and switch between textfield methods, using ShouldBeginEditing and ShouldEndEditing. Is there any way to accomplish this?

役に立ちましたか?

解決

You should do this:

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

Setting it to nil just means the default keyboard is used.

To get rid of the caret, subclass the UITextField and override caretRectForPosition:

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

他のヒント

Try this :

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

or

-(void)textFieldDidBeginEditing:(UITextField *)textField{
  [textField resignFirstResponder]; // hides keyboard
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top