2013-07-16 24 views
8

属性付きの文字列をNSTextViewに貼り付けようとしていますが、単純なテキストとして表示されているだけで、属性はありません。私はボックスまだチェックし、「リッチテキストができます」と、編集可能なボックス未チェックを持っているNSTextViewとNSAttributedString

NSString *str = @"Parsing Directory Structure\n\n"; 

NSMutableAttributedString *attrstr = [[NSMutableAttributedString alloc] initWithString:str]; 
NSDictionary *attributes = @{ 
          NSForegroundColorAttributeName : [NSColor blueColor], 
          NSFontAttributeName : [NSFont fontWithName:@"HelveticaNeue-Bold" size:20.f] 
          }; 
[attrstr setAttributes:attributes range:NSRangeFromString(str)]; 

[[self.textView textStorage] appendAttributedString:attrstr]; 

とNSTextView(スクロールビュー内)の:私はそうのように私の文字列を作成しました。私は基本的にこれをコンソール出力ウィンドウのように使用しようとしています。

答えて

5

NSMakeRangeFromStringは範囲のテキスト表現を解析しますが、文字列をカバーする範囲は作成されません。テキストには整数が含まれていないため、{0, 0}の範囲と長さが両方ともゼロです。だからあなたのテキストはスタイルされていません。

NSMakeRange(0, str.length)と置き換えてください。コードが正しく動作するはずです。

+0

ありがとうございました!それは完璧に働いた。 – Gargoyle

関連する問題