1

我正在尝试为 UITextView 创建自定义拼写检查器。

为了显示一个单词拼写错误,我需要在拼写错误的单词下方添加“红色虚线”。为此,这是我认为可行的方法-

我创建了一个字典,其中包含 key 的值NSUnderlineStyleAttributeName。然而,它的作用是,它确实在字符下划线,但它没有点图案。此外,设置 strokeColorAttribute 似乎也没有任何效果。

这是我的代码 -

    NSMutableDictionary *misspelledAttributes = [NSMutableDictionary dictionary];
    [misspelledAttributes setObject:[NSNumber numberWithInt:kCTUnderlineStyleThick|kCTUnderlinePatternDot] forKey:NSUnderlineStyleAttributeName];
    [misspelledAttributes setObject:[UIColor redColor] forKey:NSStrokeColorAttributeName];

要将属性设置为特定范围的属性字符串 -

NSMutableAttributedString *attrString = [self.textView.attributedText mutableCopy];
[attrString addAttributes:misspelledAttributes range:wordRange]; 

如果有人可以帮助我并指出我缺少/做错了什么,那就太好了。

4

1 回答 1

1

我认为您将不得不找到 NSAttributedString 以外的方法。

据我所知,您在 iOS 中为NSUnderlineStyleAttributeName选择的唯一值是 NSUnderlineStyleNone 或 NSUnderlineStyleSingle,它们代表数字。

NSUnderlineColorAttributeName支持 iOS 7.0+。

于 2012-12-06T17:01:03.097 回答