UITextView изменяют высоту вместо прокрутки

По умолчанию contentView UITextView становится с возможностью прокрутки, когда существует слишком много текста для вписывания в textview на основе, он - высота.

Я хотел бы отключить это и вместо этого, обновить высоту UITextView для вписываний в текст. Причина я делаю это, состоит в том, потому что я добавляю UITextView как подпредставление UIScrollView, который должен обработать прокрутку, во многом как в собственном Почтовом приложении (когда Вы вводите текст, целые прокрутки представления, не просто textview.

Кто-либо получил некоторое представление / столкнулся с той же проблемой прежде?

6
задан Tom Irving 5 April 2010 в 19:45
поделиться

2 ответа

Это очень просто сделать так:

CGRect frame = textView.frame;

frame.size = textView.contentSize;

textView.frame = frame;

Это должно установить высоту текстового представления, чтобы она соответствовала всему его содержимому.

20
ответ дан 8 December 2019 в 03:26
поделиться

Несколько небольших изменений:

-(void)textViewDidChange:(UITextView *)textView {

    CGFloat fontHeight = (textView.font.ascender - textView.font.descender) + 1;

    CGRect newTextFrame = textView.frame;
    newTextFrame.size = textView.contentSize;
    newTextFrame.size.height = newTextFrame.size.height + fontHeight;
    textView.frame = newTextFrame;
}

Добавление высоты шрифта дает место для поля автокоррекции, когда вы пишете что-то неправильно.

В UITextView также следует установить не прокрутку:

[aTextView setScrollEnabled:NO];
9
ответ дан 8 December 2019 в 03:26
поделиться
Другие вопросы по тегам:

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