突出显示UITextView中的文本

时间:2013-10-19 12:50:54

标签: ios objective-c

我有一个名为Highlight的菜单项,它调用以下功能。该函数更改所选文本的颜色,并正常工作。但是,我不确定我是否正确地做到了。我担心如果_myTextView(一个UITextView)包含大量文字,可能会出现性能问题。

你能看看它并建议一个更好的方法吗?

- (void)highlight {

    NSRange selectedRange = _myTextView.selectedRange;

    NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]        
                              initWithAttributedString:_myTextView.attributedText];

    [attributedString addAttribute:NSForegroundColorAttributeName 
                      value:[UIColor redColor] 
                      range:selectedRange];

    _myTextView.attributedText = attributedString;

}

1 个答案:

答案 0 :(得分:1)

这不会导致性能问题,因为您没有做太重的事情。即使有大量文本,UIKit也能很好地处理这个问题。这就像在设备上添加大量文本和测试一样简单,看看它是如何处理它的。

我建议你开始将你的对象称为self.myObject而不是_myObject。这是因为如果您需要覆盖getter,则必须返回并修复代码以改为使用getter。