私はそれが本当に悪いハックなしで実行できるとは思わない
私の最初のこと:
NSStatusItem にビューを作成し、window.isVisible をビューの visibleRect と組み合わせます。いずれにせよ、ステータス バーをウィンドウで隠すことはできません。
=>動作しませんでした
2. やってみる
NSStatusItem にビューを用意し、適切な方法からハックを試して、NSView が描画されているかどうかを判断
してください
=> 機能しませんでした
うまくいくかもしれない本当に邪悪なハック
アクセシビリティ API を介してマウス クリックをシミュレートし、ビューがイベントを取得するかどうかを確認します。
私が試したこと
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
// Insert code here to initialize your application
item = [[[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength] retain];
item.title = @"TEST";
view = [[DDQuickMenuStatusItemView alloc] init];
view.item = item;
view.title = item.title;
item.view = view;
[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(checkVisible:) userInfo:nil repeats:YES];
}
- (void)checkVisible:(id)timer {
NSLog(@"NOT WORKING vis: %d", (view.window.isVisible && !NSEqualRects(view.visibleRect, NSZeroRect)));
NSLog(@"NOT WORKING isDrawn: %d", (view.isDrawn));
}