NSTextView で強調表示された段落をうまく表示しようとしています。現在、背景色で NSAttributedString を作成することでこれを行っています。簡単なコードを次に示します。
NSDictionary *attributes = @{NSBackgroundColorAttributeName:NSColor.greenColor};
NSAttributedString *attrString = [[NSAttributedString alloc] initWithString:@"Here is a single line of text with single spacing" attributes:attributes];
[textView.textStorage setAttributedString:attrString];
このアプローチは、強調表示されたテキストを生成するという点で、基本的に機能します。
残念ながら、複数の行が存在する場合、ハイライトは行自体に加えて行間の垂直方向のスペースを覆い、見苦しくなります。
Cocoa でこの種の強調表示を行う方法を知っている人はいますか? 下の写真は基本的に私が探しているものです (白いボックスの影は無視してください):
CoreText や html など、見栄えをよくするために必要なものは何でも喜んで使用します。