在UITextView
文中,
在突出显示文本之前,它显示的文本大小为 16。(在第一张图片中)
在使用NSAttributedString
突出显示之后。突出显示的文本仅显示相同大小(16)的剩余字符串显示小于原始大小(第二个 .
这个问题只能在iPod
和iPhone
欺骗。iPad
显示正确的格式。
代码突出显示UITextView
文本
NSDictionary *attrsDictionary = [NSDictionary dictionaryWithObject:[UIFont fontWithName:@"Arial" size:currentTextSize] forKey:NSFontAttributeName];
NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:txtview4disp.text];
int startind=[[dict objectForKey:@"BeginIndexPos"]integerValue];
int endind=[[dict objectForKey:@"EndIndexPos"]integerValue];
NSRange rang;
if (startind>=STARTINDEX&&startind<=ENDINDEX) {
if (endind>ENDINDEX) {
int endind2=endind-ENDINDEX;
rang=NSMakeRange(startind-STARTINDEX, (endind-startind)-endind2);
}
else
rang=NSMakeRange(startind-STARTINDEX, endind-startind);
[attrString addAttributes:attrsDictionary range:rang];
[attrString addAttribute:NSBackgroundColorAttributeName value:[UIColor yellowColor] range:rang];
txtview4disp.attributedText=attrString;