8

NSToolbarItemAdiumなどで選択したものを強調表示したい(スクリーンショットを参照)。

ハイライト http://a2.s3.p.quickshareit.com/files/screenshot_b28b67ba9411513d6.png

簡単な方法はありますか?そうでない場合は、難しいことを教えてください。=)

4

3 に答える 3

14

チャックの答えを拡張するには、コントローラーを 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 回だけで済みます。

于 2009-02-19T19:52:22.977 に答える
10

Interface Builder でツールバーを作成した場合は、個々の NSToolbarItems をクリックして、その外観にしたいもののインスペクターの [選択可能] ボックスをチェックします。コードは必要ありません。

于 2010-07-07T06:39:27.453 に答える
6

Cocoaドキュメントの選択可能なツールバーアイテムを参照してください。

于 2009-02-19T19:37:40.550 に答える