Многострочный TextField (подобный SMS) и / или кнопка 'Done' в UITextView

Я исследовал это в течение нескольких дней теперь и ценил бы немного справки. Там какой-либо путь состоит в том, чтобы генерировать многострочный UITextField как использование Apple в приложении SMS? Полезная вещь об этом управлении состоит в том, что оно имеет 'сниженное' появление, которое проясняет, что это - поле ввода текста, но в то же время оно подробно останавливается на каждом символе новой строки.

При сбое этого, если я вынужден использовать UITextView, кто-либо может советовать, как лучше всего отклонить клавиатуру? И 'Сделанный' и кнопки 'Go' просто, кажется, генерируют символы новой строки ('\n'). Это кажется неправильным мне - конечно, по крайней мере один из них должен генерировать другой символ, так, чтобы я мог все еще допускать символы новой строки, но также и отклонить мою клавиатуру на определенном нажатии клавиши.

Я пропускаю что-то простое здесь?

Заранее спасибо :)

6
задан Thomas Zoechling 8 January 2010 в 22:15
поделиться

4 ответа

[

]Facebook выпустил пакет с открытым исходным кодом под названием []Three20[], который имеет многострочное текстовое поле. Вы можете легко использовать это поле для расширения текстового поля.[

] [

]Что касается кнопки "Готово", вы можете настроить ваш контроллер просмотра как []UITextFieldDelegate[]. Затем используйте этот метод:[

] [
 - (BOOL)textFieldShouldReturn:(UITextField *)textField {
     // Do whatever you want for your done button
      return YES;
 }
] [

]В случае с Three20, используйте этот метод []TTTextEditorDelegate[]:[

] [
 - (BOOL)textFieldShouldReturn:(TTTextEditor *)textField {
     // Do whatever you want for your done button
      return YES;
 }
]
2
ответ дан 8 December 2019 в 16:03
поделиться

Ну, у меня была похожая проблема, а что я В завершение использовании на самом деле создают отключенный UITExtfield Sistfield в качестве фона и UITExtView над ним, чтобы получить вход ... он отстойки, что API iPhone не может иметь это по умолчанию. Также обратите внимание, что это не автоматически развернуто, но вы можете сделать это, если вы хотите, обрабатывая текстовое сообщение TextViewDidchange:

как для обработки обратного ключа, попробуйте реализовать следующий метод из UITExtViewDelegate :

- (void)textViewDidChange:(UITextView *)inTextView {
    NSString *text = inTextView.text;

    if ([text length] > 0 && [text characterAtIndex:[text length] -1] == '\n') {
        inTextView.text = [text substringToIndex:[text length] -1]; // remove last return from text view
        [inTextView resignFirstResponder]; // hide keyboard
    }
}
1
ответ дан 8 December 2019 в 16:03
поделиться
  • (void)textEditorDidBeginEditing:(TTTextEditor *)textEditor { и

    • (void)textEditorDidEndEditing:(TTTextEditor *)textEditor { может оказаться тем, что вы ищете. Наслаждайтесь!
0
ответ дан 8 December 2019 в 16:03
поделиться

Может быть, вы сможете использовать класс, который я написал? То же, что и tttexteditor, без уродливых глюков: http://www.hanspinckaers.com/multi-line-uitextview-similar-to-sms

9
ответ дан 8 December 2019 в 16:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: