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 に答える