3

ツールバーには次のメニューがあります。

ここに画像の説明を入力

このメニューから「テキストのみ」を除外する簡単な方法はありますか?

私はそれが NSToolbarDisplayModeLabelOnly であることを知っていますが、使用しないと言う場所が見つかりませんでした。

4

1 に答える 1

0

私のチームは解決策を見つけました。NSToolBar の単純なカテゴリ。
このカテゴリは、カスタム項目をメニューに追加するために使用できます。

NSToolbar+ContextMenu.h

#import <Cocoa/Cocoa.h>
@interface NSToolbar (ContextMenu)
- (void) disableTextOnlyMode;
@end


NSToolbar+ContextMenu.m

#import <AppKit/NSToolbar.h>
#import "NSToolbar+ContextMenu.h"

@implementation NSToolbar (ContextMenu)
- (NSView*) __toolbarView {
    return (NSView*)[self valueForKey:@"_toolbarView"];
}
- (void) disableTextOnlyMode {
    NSView *toolbarView = [self __toolbarView];
    NSMenu *toolbarMenu = toolbarView.menu;
    for (NSMenuItem *item in [toolbarMenu.itemArray objectEnumerator]) {
        if (item.action == @selector(changeToolbarDisplayMode:) && item.tag == 3) {
            [toolbarMenu removeItem:item];
            break;
        }
    }
}
@end
于 2014-12-22T11:08:09.353 に答える