NSTextView具有较长的NSMutableAttributedText低滚动和加载速度

我有一个uitextview大多数时候应该显示长的attributedtexts uitextview 。 我使用下面的代码来创build我的属性文本:

  //Add each line of doa to an element of array for future usage NSArray *paragraphs = [self.Text componentsSeparatedByString:@"\r\n"]; MixedContent= [[NSMutableAttributedString alloc]init]; ArabicContent= [[NSMutableAttributedString alloc]init]; TranslatedContent= [[NSMutableAttributedString alloc]init]; NSString * temp=@""; for (int i=0; i< paragraphs.count; i++) { if([paragraphs[i] hasPrefix:@"$2."]){ temp= [paragraphs[i] stringByReplacingOccurrencesOfString:@"$2." withString:@"" options:1 range:NSMakeRange(0, 3)]; NSMutableAttributedString* tempMutable= [[NSMutableAttributedString alloc] initWithString:temp attributes:doaDescriptionAttributes]; //Go to next line [tempMutable appendAttributedString:[[NSMutableAttributedString alloc] initWithString:@"\n\n"]]; [ArabicContent appendAttributedString: tempMutable]; [TranslatedContent appendAttributedString:tempMutable]; [MixedContent appendAttributedString:tempMutable]; }else if ([paragraphs[i] rangeOfString:@"$3."].location != NSNotFound){ temp= [paragraphs[i] stringByReplacingOccurrencesOfString:@"$3." withString:@"" options:1 range:NSMakeRange(0, 3)]; NSMutableAttributedString* tempMutable= [[NSMutableAttributedString alloc] initWithString:temp attributes:arabicDoaAttributes]; [MixedContent appendAttributedString:tempMutable]; [MixedContent appendAttributedString:[[NSMutableAttributedString alloc] initWithString:@"\n"]]; [ArabicContent appendAttributedString:tempMutable]; [ArabicContent appendAttributedString: [[NSMutableAttributedString alloc] initWithString:@" "]]; }else if ([paragraphs[i] rangeOfString:@"$4."].location != NSNotFound){ temp= [paragraphs[i] stringByReplacingOccurrencesOfString:@"$4." withString:@"" options:1 range:NSMakeRange(0, 3)]; NSMutableAttributedString* tempMutable= [[NSMutableAttributedString alloc] initWithString:temp attributes:arabicDoaAttributes]; [MixedContent appendAttributedString:tempMutable]; [MixedContent appendAttributedString:[[NSMutableAttributedString alloc] initWithString:@"\n"]]; [TranslatedContent appendAttributedString:tempMutable]; [TranslatedContent appendAttributedString: [[NSMutableAttributedString alloc] initWithString:@" "]]; } temp=nil; } } 

我的文本包含3种文本。 一些描述。 一些阿拉伯语文本及其翻译。 每个部分都以特定的颜色显示。

我使用这个代码来设置文本:

 self.myTextView.attributedText= myAttributedText; 

问题是,当我设置或更改此文本textview的文本大约需要2秒,应用程序设置或更新文本。 等待时间对我的用户不好。

另外当我滚动textview这是不是很好。 它滚动一些段落,然后停下来,然后滚动,停止和滚动,….

实际上滚动速度很慢。

有没有更好的方法来设置文本,使我有更好的performance?

UPDATE

我想可能通过滚动来加载文本。 有些事情像一个懒惰的加载器列表,但为uitextview。 可能吗?

UPDATE

当我添加没有任何属性的文本。 (我的意思是所有线条相同的颜色)滚动工作正常。

UPDATE

这是关于文本的数量。 当我减less文本的数量。 例如,而不是设置10000个字符我设置500个字符,现在它是相当快的。 我该如何解决?