Cocoa-Touch - сделать UITextField только для чтения первым ответчиком

У меня есть UITextField, который я установил для inputView как UIPickerView, чтобы пользователь мог выбирать между несколькими значениями. Однако у меня возникли проблемы с тем, чтобы текстовое поле стало первым ответчиком.

Если я установлю свое текстовое поле userInteractionEnabled = NO, то оно не станет первым ответчиком, но если я установлю его на YES, оно станет первым ответчиком, но тогда у меня будет мигающий курсор, которого я не хочу. Итак, как сделать так, чтобы UITextField только для чтения стал первым ответчиком?


person Peter Warbo    schedule 08.10.2012    source источник
comment
Почему бы не использовать UILabel и сделать так, чтобы сборщик был первым ответчиком?   -  person rdelmar    schedule 09.10.2012
comment
Вы не можете назначить inputView на UILabel   -  person Peter Warbo    schedule 09.10.2012
comment
Конечно, и не нужно. Поднимите средство выбора любым способом, который работает в вашем приложении, и заполните UILabel из метода pickerView:didSelectRow:inComponent: делегата. Это может быть единственный выход, если невозможно сделать текстовое поле только для чтения первым ответчиком.   -  person rdelmar    schedule 09.10.2012


Ответы (1)


Судя по вашему вопросу, вам не нужен UITextField. Таким образом, альтернативный способ добиться этого - добавить UILabel с UIButton сверху, что приведет к сборщику. При выборе любого значения в средстве выбора текст UILabel можно изменить.

person iDev    schedule 09.10.2012