Текстовое поле ввода, такое как приложение SMS на iPhone - PullRequest
8 голосов
/ 02 марта 2010

Я ужасно пытаюсь получить окно ввода, подобное тому, которое есть в приложении SMS.

Может кто-нибудь предложить несколько советов о том, как создать один из них и чтобы он выглядел хорошо? Мне нужно поле ввода, которое имеет форму, похожую на поле UIText, но при печати будет растягиваться вертикально.

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

UPDATE:

Я работал над этим каждый день в течение недели, и я уже почти отказался от UITextView. Я могу заставить его растягиваться правильно, но при возврате высота Textview слишком сильно уменьшается при движении вверх по линии. Поскольку я продолжаю отступать, это исправляет себя. Например, он отображает это поведение, когда я нахожусь в строке 4 и возвращаюсь к строке 3. Затем, продолжая возврат, он исправляет, пока не доберусь до конца строки 2. Затем он исправляет себя, .... и т. Д.

Я решил попытаться создать подкласс UITextField, но даже не могу отобразить его в указанном размере кадра. 150150150150.

Ответы [ 4 ]

3 голосов
/ 07 марта 2013

Попробуйте Пример ввода в чат . Он имеет похожий внешний вид и функциональность приложения SMS.

2 голосов
/ 09 марта 2010

Three20 Проект имеет элемент управления, который должен сделать это для вас.

Из Три20 ЧИТАЙТЕ:

TTTextEditor - это UITextView, который может расти в высоту автоматически, как вы тип. Я использую это для ввода сообщений в чате Facebook, и он ведет себя аналогично редактору в смс от Apple приложение.

1 голос
/ 02 марта 2010
0 голосов
/ 10 октября 2014

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

...