Вопрос по ios – UITextView, прокручивать при редактировании?

6

У меня большойUITextViewпочти на весь экран. Если я коснусь его, появится клавиатура, и я смогу редактировать текст. Тем не менее, чем дольше я набираю текст, тем быстрее текст проходит вниз по экрану за клавиатурой. Я больше не вижу, что я печатаю.

Как вы справляетесь с этим? Нужно ли отслеживать положение курсора и прокручивать вид вручную?

Ваш Ответ

3   ответа
7

товому диапазону (или, скажем, по типу)

NSRange range = NSMakeRange(textView.text.length - 1, 1);
[textView scrollRangeToVisible:range];

Надеюсь, что это поможет вам...

НЕТ, дорогой, я ищу эту проблему в течение последних 2 часов .. но я не могу найти лучшее решение. Но когда я отправляю вопрос. После 5 минут я получил ссылку. Поэтому я публикую ссылку, чтобы помочь кому-то другому. ты не возражаешь ... jamil
Спасибо за ответ .. но я получил ссылку, что я хочу сделать .. ниже ссылку, которая работает нормально. jamil
@adamjansch: полностью согласен. Почему люди задают вопрос, если у них уже есть решение? Я думаю. только "& quot;" Увеличение стека переполнения стека & quot; & quot;
@ user1328096 Для потомков вы можете написать решение своего вопроса в качестве правильного ответа? (И не забудьте принять некоторые ответы!)
5

что вы должны измерить свой UITextView, как показывает / скрывает клавиатура. Таким образом, клавиатура не будет отображаться поверх текста. Вот примеры кодов.

- (void)viewDidLoad
{
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(keyboardWillShow:)
                                                 name:UIKeyboardWillShowNotification
                                               object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(keyboardWillHide:)
                                                 name:UIKeyboardWillHideNotification
                                               object:nil];
}

- (void)keyboardWillShow:(NSNotification *)notification
{
    [UIView beginAnimations:nil context:nil];
    CGRect endRect = [[notification.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
    CGRect newRect = YOUT_TEXT_VIEW.frame;
    //Down size your text view
    newRect.size.height -= endRect.size.height;
    YOUT_TEXT_VIEW.frame = newRect;
    [UIView commitAnimations];
}

- (void)keyboardWillHide:(NSNotification *)notification
{
    ... // Resize your textview when keyboard is going to hide
}
Спасибо Дорогой Тэт Тет. jamil
2

который обрабатывает все прокрутки, чтобы избежать клавиатуры для вас. / Очень / удобно и очень рекомендуется. Увидеть:https://github.com/michaeltyson/TPKeyboardAvoiding

Вау, что жемчужина TPKeyboardAvoiding!

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