Xcode 4.6.2 を使用した単純な cocoa coredata ステータスバー アプリケーションがあります。ここで私AppController.h
は持っています
@interface AppController : NSObject
@property NSStatusItem *statusItem;
@property IBOutlet NSMenu *statusMenu;
私の中でAppController.m
:
@synthesize statusItem = statusItem;
@synthesize statusMenu = statusMenu;
-(void)awakeFromNib{
statusItem = [[NSStatusBar systemStatusBar]statusItemWithLength:NSVariableStatusItemLength];
statusItem.menu = statusMenu;
}
次に、私AppDelegate.m
の中に関数があります:
#import "AppController.h"
-(IBAction)someAction:(id)sender{
//code to do something
AppController *x = [[AppController alloc]init];
[x.statusMenu cancelTracking];
}
NSMenuItem のカスタム ビュー内でアクションを実行するボタンを介してメニューを閉じたい ([接続インスペクター] -> [アウトレット] -> [ctrl + ドラッグ] からボタンを表示)。NSButton に対して 2 つの異なる送信アクションを選択できないため、AppDelegate クラスにある IBAction someAction から AppController クラスで宣言されたメニューを閉じる必要があります。どうやってするの?投稿したコードが機能しません。前もって感謝します