2

アプリに以下のコードがあります

NSMutableAttributedString * string = [[NSMutableAttributedString alloc] initWithString:self.myDisplayTxt];
      [string addAttribute:(NSString*)kCTForegroundColorAttributeName 
                     value:(id)[[UIColor redColor] CGColor]
                     range:NSMakeRange(0,5)];

    self.myTextView.text = string;

NSMutableAttributedString を UITextView に割り当てると、次のエラーが発生します。

互換性のないオブジェクティブ C タイプ struct NSMutableAttributedString が期待される struct nsstring

UITextViewでNSMutableAttributedStringを表示するにはどうすればよいですか。

4

3 に答える 3

2

そのためにいくつかのライブラリを使用することができます。omz が書いたように、残念ながら UITextView はNSAttributedString.

多分これがあなたを助けることができます: https://github.com/enormego/EGOTextView

彼らはこのライブラリについて次のように述べています。

NSAttributedString の追加サポートによる UITextView の置き換え。

更新: omz の回答に対するコメントでの説明に基づいて、ここを見ることができます: uitextview 内のテキストに下線を引く

更新 2: iOS 6では、そのまま NSAttributedString を使用できます。たとえば、次のようにします。

UIColor *_red=[UIColor redColor];
UIFont *font=[UIFont fontWithName:@"Helvetica-Bold" size:72.0f];
[attString addAttribute:NSFontAttributeName value:font range:NSMakeRange(0, _stringLength)];
[attString addAttribute:NSStrokeColorAttributeName value:_red range:NSMakeRange(0, _stringLength)];
[attString addAttribute:NSStrokeWidthAttributeName value:[NSNumber numberWithFloat:-3.0] range:NSMakeRange(0, _stringLength)];
于 2012-04-25T10:21:22.140 に答える
0

できませんUITextView。属性付き文字列はサポートされていません。属性付きの文字列を使用して前景色を設定したい場合 (例のように)、テキスト ビューのtextColorプロパティを設定することで同じことを実現できます。

于 2012-04-25T09:51:00.363 に答える