NSToolbarItem
Adiumなどで選択したものを強調表示したい(スクリーンショットを参照)。
ハイライト http://a2.s3.p.quickshareit.com/files/screenshot_b28b67ba9411513d6.png
簡単な方法はありますか?そうでない場合は、難しいことを教えてください。=)
NSToolbarItem
Adiumなどで選択したものを強調表示したい(スクリーンショットを参照)。
ハイライト http://a2.s3.p.quickshareit.com/files/screenshot_b28b67ba9411513d6.png
簡単な方法はありますか?そうでない場合は、難しいことを教えてください。=)
チャックの答えを拡張するには、コントローラーを NSToolBar のデリゲートにして、toolbarSelectableItemIdentifiers: デリゲート メソッドを実装するだけです。たとえば、次の実装では、「検査」というラベルが付いたものを除くすべてのツールバー項目で選択の強調表示を保持できます。
- (NSArray *)toolbarSelectableItemIdentifiers:(NSToolbar *)toolbar
{
NSMutableArray *allIdentifiers = [[NSMutableArray alloc] init];
for (NSToolbarItem *toolbarItem in [toolbar items])
{
if (![[toolbarItem label] isEqualToString:@"Inspect"])
[allIdentifiers addObject:[toolbarItem itemIdentifier]];
}
return [allIdentifiers autorelease];
}
このようなことを行うときは、allIdentifiers 配列をインスタンス変数にキャッシュするので、配列の作成は 1 回だけで済みます。
Interface Builder でツールバーを作成した場合は、個々の NSToolbarItems をクリックして、その外観にしたいもののインスペクターの [選択可能] ボックスをチェックします。コードは必要ありません。
Cocoaドキュメントの選択可能なツールバーアイテムを参照してください。