質問

NSOutlineView NSBrowserCell にカスタムアイコンを提供しますアウトラインの列に表示されますが、間隔を適切に設定できませんでした。下に示すように、フォルダアイコンは常に開閉用三角ボタンの近くに表示されます。 (FWIW、バージョンおよび BetterZip は両方とも、間隔の問題なしに同様のデータを表示します。)

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

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


好奇心For盛な人のために、 JarScan は、JAR内のJavaクラスを見つけるための便利な(無料の)コマンドラインツールです。ファイル。

役に立ちましたか?

解決

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

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top