Мне интересно, как отключить поле ввода UITextfield. Установка textField.inputView = nil;
или [textField setInputView:nil]
в ShouldBeginEditing ничего не делает, а использование свойства userInteraction
лишает возможности взаимодействовать с полем. В идеале я хотел бы удалить как курсор, так и клавиатуру, но при этом иметь возможность взаимодействовать и переключаться между методами текстового поля, используя ShouldBeginEditing и ShouldEndEditing. Есть ли способ сделать это?
Отключить клавиатуру для UITextfield
comment
Что вы имеете в виду, переключаясь между методами текстового поля? Что вы хотите сделать с этим UITextField?
- person Seamus Campbell   schedule 13.08.2013
comment
Вы хотите, чтобы ваша клавиатура не появлялась? это правильно?
- person Samkit Jain   schedule 13.08.2013
comment
У меня есть несколько полей UIText. В настоящее время я использую textFieldShouldBeginEditing и textFieldShouldEndEditing, чтобы определить, какое поле в настоящее время активно для настройки таких вещей, как выделение текстового поля или изображения левого/правого просмотра.
- person DOLOisSOLO   schedule 13.08.2013
Ответы (2)
Вы должны сделать это:
myTextField.inputView = UIView.new; //Empty UIView
Установка его на nil
просто означает, что используется клавиатура по умолчанию.
Чтобы избавиться от каретки, создайте подкласс UITextField и переопределите caretRectForPosition
:
- (CGRect) caretRectForPosition:(UITextPosition*)position
{
return CGRectZero;
}
person
mattsven
schedule
13.08.2013
Это скроет клавиатуру, но установка представления ввода на новое представление по-прежнему отображает курсор в текстовом поле.
- person DOLOisSOLO; 13.08.2013
Вы не можете избавиться от курсора без создания подкласса UITextField. Я отредактировал свой ответ, как это сделать.
- person mattsven; 14.08.2013
Попробуй это :
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
return NO; // Hide both keyboard and blinking cursor.
}
or
-(void)textFieldDidBeginEditing:(UITextField *)textField{
[textField resignFirstResponder]; // hides keyboard
}
person
Samkit Jain
schedule
13.08.2013
Ни одно из решений не работает в этом случае. Мне все еще нужно, чтобы текстовое поле было активным, чтобы определить, какие свойства установить для каждого текстового поля, которое у меня есть в моем представлении.
- person DOLOisSOLO; 13.08.2013