UITextField всегда редактируемый - PullRequest
1 голос
/ 30 августа 2011

Я удалил элемент управления UITextField на одну из моих XIB, и я хочу, чтобы он не редактировался. Я «снял флажок» с «Включено» и «Взаимодействие с пользователем включено» в «Инспекторе атрибутов». Однако, когда я запускаю это приложение в симуляторе, когда я нажимаю на TextField, клавиатура всегда появляется. Я искал вокруг, и эти два атрибута, похоже, контролируют «редактирование» этого конкретного элемента управления. Я могу создать UITextArea, поскольку существует флажок «Редактируемый», который я «не проверял». Однако в инспекторе нет флажка «Редактируемый» для UITextField. Мне не повезло? Или требуется дополнительная настройка, о которой я не знаю?

Ответы [ 5 ]

1 голос
/ 30 августа 2011

Попробуйте с этим:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
    return NO;
}
0 голосов
/ 30 августа 2011

После того, как я выдернул свои волосы из-за того, что ни одно из решений не работало (флажки и добавление кода для отключения TextField), в конечном итоге проблема была решена путем удаления элемента управления и его повторного добавления.После того, как он был снова добавлен, я смог отключить TextField с помощью флажка «Enabled» или присвоить «NO» textField.enabled.Я понятия не имею, почему это работает сейчас, но это может быть решением для других, у которых возникла та же проблема.

0 голосов
/ 30 августа 2011

Попробуйте, в вашем viewDidLoad установите для вашего textField следующее:

myTextField.userInteractionEnabled = FALSE;
0 голосов
/ 30 августа 2011
yourTextFieldName.enabled = NO;

Мне кажется, это работает очень хорошо, надеюсь, это поможет.

0 голосов
/ 30 августа 2011

Свойство «Включено» это то, что вы ищете, если хотите отключить сенсорные события от пользователя.

см .: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIControl_Class/Reference/Reference.html#//apple_ref/occ/cl/UIControl

Возможно, у вас возникли проблемы со связью между вашим Интерфейсным Разработчиком и вашим приложением (у меня была эта проблема несколько раз).

Попробуйте установить значение непосредственно в своем коде вместо использования IB и посмотрите, дает ли оно желаемые результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...