2015-03-24 3 views
0

У меня есть uitextview с примерно 5 строками и нужно прокручивать. Мне также нужно установитьAttributedText. Проблема в том, что после того, как я это сделал, uitextview всегда прокручивается назад.UITextView setAttributedText и отключить прокрутку вверх

[self.txtPost setAttributedText:self.mutableAttributedString]; 

Мне нужно установитьAttributedText без прокрутки вверх. Могу я знать, как это сделать?

ответ

0

Это не должно быть. Убедитесь, что шрифт одинаковый в обоих случаях, то есть при установке обычной строки и атрибута строки.

Используйте этот код в качестве ссылки:

Нормальный string-

self.textview.text= @"Lorem ipsum dolor sit er elit lamet, attributed string eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, attributed string quis nostrud exercitation ullamco laboris nisi attributed string ut aliquip ex ea commodo consequat."; 
self.textview.font= [UIFont systemFontOfSize:15.0f]; 

Приписываемые string-

NSMutableAttributedString* string= [[NSMutableAttributedString alloc] initWithString:@"Lorem ipsum dolor sit er elit lamet, attributed string eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, attributed string quis nostrud exercitation ullamco laboris nisi attributed string ut aliquip ex ea commodo consequat."]; 
[string addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0,50)]; 
[string addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:NSMakeRange(50,100)]; 
[string addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:15.0f] range:NSMakeRange(0,string.length)]; 
[self.textview setAttributedText:string]; 
+0

Я использую setAttributedText, чтобы шрифт не был таким же для моей входной строки. Как мне это сделать? –

+0

В моем случае положение прокрутки остается таким же, но если есть какая-либо разница в шрифте, тогда можно увидеть небольшой прыжок в позиции прокрутки. Я не думаю, что это может быть исправлено, если вы вручную не прокрутите текст в программном виде. – atulkhatri

4

Это связано с КСН 8 объектов. Он всегда будет прокручиваться вверх после setText или setAttributedText.

Чтобы этого не случилось, мне нужно написать это.

textView.layoutManager.allowsNonContiguousLayout = NO; 
Смежные вопросы