2

ゴール:

NSAttributedStrings (NSTextTabs と組み合わせて) を使用して、次のレイアウトを作成しようとしています。

[ Title           # ]  <-- Useable in NSTableViews, NSMenuItems, etc.
[ Another Title   # ]
[ T3              # ]

試みられた解決策:

私が試みているコードは次のとおりです。

NSMutableParagraphStyle *tabStyle = [[NSMutableParagraphStyle alloc] init];
[tabStyle setTabStops: [NSArray array]];
[tabStyle addTabStop: [[NSTextTab alloc] initWithType: NSRightTabStopType location: 200.0]];
[attrString appendAttributedString: [[NSMutableAttributedString alloc] initWithString: @"\t"]];
[attrString addAttribute: NSParagraphStyleAttributeName value: tabStyle range: NSMakeRange(0, [attrString length])];
[attrString appendAttributedString: [[NSMutableAttributedString alloc] initWithString: @"1"]];

attrString現在「タイトル」に設定されている NSMutableAttributeString はどこにありますか。

ただし、このコードを使用すると (目的の出力が生成されると思います)、次のようになります。

スクリーンショット - NSTextTabs

さらに詳しい情報:

NSTextTabs への参照を削除すると、次のようになります。

[attrString appendAttributedString: [[NSMutableAttributedString alloc] initWithString: @"\t"]];
[attrString appendAttributedString: [[NSMutableAttributedString alloc] initWithString: @"1"]];

不均一なタブの期待される出力が得られます。

スクリーンショット - NSTexTabs なし

結論:

NSAttributedString が NSParagraphStyle/NSTextTabs を無視しているように見えるのはなぜですか?

これを修正するにはどうすればよいですか?

4

1 に答える 1

2

IB で NSTextView を作成し、それに AttributedString を配置することで、問題を発見しました。

ここに画像の説明を入力

どうやら、目的の効果を生み出すには、レイアウトを「スクロール」(以前は「切り捨て」) にする必要があるようです。

于 2011-09-12T02:01:08.813 に答える