Как создать автоматическое изменение размера ячейки таблицы для ввода текста, как в приложении «почта» на iPhone?

Я пытаюсь эмулировать что-то похожее на страницу «новое сообщение» в почтовом приложении Apple на iphone. Я реализовал это с помощью таблицы, и я успешно получил строки «To», «CC» и «Subject» для правильного поведения, но я не уверен, как реализовать фактическую часть сообщения на странице.

У меня есть несколько проблем. В настоящее время я пытаюсь реализовать это, помещая UITextView в ячейку (я отключаю полосы прокрутки в текстовом представлении). У меня есть текстовое представление, изменяющее размеры себя, когда это изменяется, изменяя его структуру к новой высоте содержания. Первая проблема заключается в том, что мне также нужно сделать это для самой высоты клетки. Поскольку heightForRowAtIndexPath, кажется, вызывается только при первой загрузке строки, я не могу изменить высоту там. Я полагаю, я мог бы вызвать перезагрузку данных в таблице, но, похоже, было бы действительно неэффективно делать всю таблицу каждый раз, когда вводится текст. Каков наилучший способ автоматического изменения размера ячейки таблицы при вводе пользователем? Я нашел много примеров того, как сделать это для одиночных табличных представлений и как изменить размеры ячеек таблицы при инициализации, но я не могу найти ни одного, который позволял бы вам делать оба одновременно.

Наконец, я хотел бы нижняя граница ячейки таблицы должна быть невидимой. Если вы посмотрите на почтовое приложение, то заметите, что в нижней части пространства сообщений нет строки, что означает, что вы можете просто продолжать печатать. У меня всегда есть один в моем табличном представлении (даже когда я добавляю нижний колонтитул), и я могу ' не могу понять, как от него избавиться. (Возможно, я должен сделать свое тело сообщения нижним колонтитулом?)

6
задан Mike 23 August 2010 в 17:24
поделиться