добавление текстового поля и кнопки в верхней части клавиатуры на iphone - PullRequest
2 голосов
/ 15 мая 2009

Я хочу добавить текстовое поле и кнопку рядом с ним. Они будут внизу окна. Затем, когда я касаюсь текстового поля (чтобы напечатать что-либо), появляется клавиатура, и весь ряд (с текстовым полем и кнопкой) прокручивается вверх, а клавиатура будет прямо под ними. Не могли бы вы дать мне знать, как я могу это сделать?

Есть ли пример программы?

Спасибо.

Ответы [ 2 ]

4 голосов
/ 15 мая 2009

Мэтт Галлахер опубликовал это в своем блоге:

Сдвиг UITextFields вокруг, чтобы избежать клавиатуры

Это пошаговый пример того, что вы хотите.

3 голосов
/ 15 мая 2009

В документации XCode Руководство по программированию приложений iPhone есть раздел «Перемещение содержимого, расположенного под клавиатурой», в котором говорится о получении уведомлений клавиатуры, когда клавиатура собирается показать. Там есть код, чтобы показать вам, как получить размер клавиатуры (который зависит от ориентации). Я не буду повторять это здесь.

Вы можете использовать ту же технику, чтобы получить уведомление UIKeyboardWillShowNotification и высоту, где клавиатура окажется в конце. Это дает вам нижний край того места, куда должен идти ваш вид, эффективно помещая его над клавиатурой. Так что просто поместите текстовое поле и кнопку внутри представления. Когда вы получите уведомление, скажите вашему представлению, куда оно должно идти (высота клавиатуры + высота представления контейнера), и все готово. Вы также захотите поймать UIKeyboardWillHideNotification, чтобы переместить вид назад туда, где он был, поэтому следите за исходной позицией контейнера.

Это довольно просто и будет хорошо смотреться, особенно если вы используете хороший анимационный эффект UIView и точно установите время.

...