2

重複の可能性:
アプリケーションからの新しい NSWindow - ミッションは不可能ですか?

ステータスメニューアプリケーションから新しいウィンドウを表示するにはどうすればよいですか?ステータスメニューアプリケーションとメソッドが呼び出されました

- (IBAction) itemClicked: (id)sender;

ステータスメニュー項目をクリックした後、新しいウィンドウを開きたいです。「Preferences.xib」という名前の新しいxibファイルとして、コントローラーを介してオブジェクトウィンドウにウィンドウを接続して、新しいウィンドウを作成しました。起動時に新しいウィンドウが表示されないようにするため、オプションのチェックを外しました: 起動時に表示、bcz ステータス メニューの項目をクリックした後に表示したい。ウィンドウコントローラーを作成しました:

@interface PrefWindowController : NSWindowController {
    // IBOutlet NSWindow * window; OKay this is removed, but still no result.
}

次にinitを実装しました:

- (id) init {
    self = [super initWithWindowNibName: @"Preferences"];
    return self;
} 

次に、mainAppDeleage の init にウィンドウを作成しました。

prefWindow = [[PrefWindowController alloc] init];
// but after that [prefWindow window] == nil WHY? :(

そして

- (IBAction) itemClicked:(id)sender {
    [[prefWindow window] makeKeyAndOrderFront:self]; // window will not show anyway bcz it's nil!                                         
}

何か提案はありますか?4日間のグーグル検索と失敗した試みの後、私は絶望的です:-(ありがとう。私はobjective-cの初心者です。

4

0 に答える 0