2010-09-27 3 views
1


У меня есть tableViewController с одной секцией и одной ячейкой.
Как я могу получить высоту между navBar и клавиатурой без какой-либо панели инструментов над ней?
Я пробовал этот код: Высота возврата между navBar и клавиатурой

self.view.bounds.size.height
, но я получаю высоту всего вида вниз по navBar ...
Я хотел бы получить этот размер, чтобы назначить его ячейке и текстуру внутри него.

Спасибо :)

ответ

1

Вы не можете получить высоту клавиатуры до тех пор, пока не появится. Вам нужно будет зарегистрироваться для одного из keyboard notifications, а затем проверить значение UIKeyboardFrameEndUserInfoKey. Это даст вам рамку для клавиатуры. Используйте это, чтобы настроить высоту вашего вида.

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

+0

Я не хочу получать высоту клавиатуры, но высота части обзора между navBar и клавиатурой, как показано на этом изображении: http://bit.ly/cBQi6X :) – matteodv

+0

Да. Вам нужно будет получить высоту клавиатуры, а затем вычесть ее с высоты вашего представления контроллера. Это даст вам разницу между навигационной панелью и клавиатурой. –

+0

Код, очень похожий на то, что вы хотите (но не совсем то же) на http://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html#//apple_ref/doc/UID/TP40009542-CH5-SW7. –

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