1

アーカイブ ファイルの内容をNSOutlineViewに表示する Cocoa アプリケーションを作成しています。アウトライン列にNSBrowserCellのカスタム アイコンを用意しましたが、適切なスペースを確保できませんでした。以下に示すように、フォルダー アイコンは常に開閉用三角形に近すぎて表示されます。(FWIW、Versions、およびBetterZipはどちらも、間隔の問題なしで同様のデータを表示します。)

NSOutlineView-icon-spacing http://img.skitch.com/20090918-tgfjh9x8dhgqxqnb2su8fby4ng.jpg

この問題が発生するのはフォルダ アイコンのみであるため、そのコンテキストで間隔を修正することだけに関心があります。(注:再利用のためにアイコンをすでにキャッシュしているので、必要に応じてフォルダー画像を操作しても問題ありません。とにかく一度しか発生しないためです。) NSBrowserCell インスタンスで調整できるものがあるかどうかわかりません、しかし、試行不足のためではなく、まだ機能するものを見つけていません。


興味深いことに、JarScanは、JAR ファイル内の Java クラスを検索するための便利な (無料の) コマンドライン ツールです。

4

1 に答える 1

3

「アウトライン テーブル カラム」( を参照-[NSOutlineView outlineTableColumn])は、階層を表示するために必要に応じて三角形と左パディングを描画するNSTableColumnです。テーブルの内容を表示するデフォルトのセルはNSTextFieldCellです。表示される間隔を広げるには、カスタム NSTextFieldCell サブクラスで描画を行う必要があります。間隔は、x オフセットを使用して画像を描画することによって実現されます。(アウトライン ビューは、どの NSCell サブクラスが使用されているかに関係なく、開閉用三角形を描画します。)

セルを入力し、編集用に選択し、ツールチップを表示できる場合、正しく描画するには、次のメソッドをオーバーライドする必要がある場合があることに注意してください。

デフォルトでは、カスタム テキスト四角形はテキスト フィールドによって無視され、奇妙に描画されます。

于 2009-09-18T08:30:00.180 に答える