2011-01-09 2 views

ответ

0

Я не уверен, как вы это понимаете, так как, очевидно, невозможно редактировать два текстовых поля для меток одновременно. Следовательно, предполагается, что вы хотите показать текст в своей ячейке с помощью UILabel, но хотите иметь возможность редактировать текст ячейки.

Вы не можете напрямую использовать клавиатуру для редактирования UILabels. Самое простое решение - напрямую использовать UITextFields вместо UILabels.

Альтернативой является наличие в ячейке UITextField и UILabel. Затем покажите текстовое поле (по настройкам его значение hidden property to YES`), когда ячейка выбрана и скрыть метку. Когда редактирование закончено, сделайте обратное (т. Е. Показывая метки, скрывая текстовые поля).

Чтобы показать клавиатуру сразу после выбора ячейки, вы можете позвонить [someTextField becomeFirstResponder];. Чтобы проверить, что пользователь выполнил редактирование (и, например, нажал клавишу возврата), вы можете установить delegate из UITextField.

2

Если вы просто хотите открыть клавиатуру, вы можете добавить крошечный невидимый (прозрачный 1x1 с прозрачным текстом) UITextField в любом месте любого видимого вида и сделать это текстовое поле первым ответчиком, чтобы открыть клавиатуру. Затем вы можете перенаправить входной текст на любую из двух меток (или где-то еще), используя делегаты текстового поля для захвата ввода.

1

Да, этикетка должна соответствовать UIKeyInput protocol. Обратите внимание, что это либо-либо предложение. Если метка соответствует UIKeyInput, тогда, когда она станет первым ответчиком, будет отображаться клавиатура, хотите вы этого или нет.

Смежные вопросы