-1

目的 C のウィンドウに閉じるボタンを配置する際に問題が発生しています。ボタンを作成しましたが、ウィンドウを閉じるために呼び出す必要があるメソッドがわかりません。これを実行しました。

    -(void)awakeFromNib{

//Create a button
    NSRect frame = NSMakeRect(350, 10, 100, 50);
    NSButton *btn = [[NSButton alloc]initWithFrame:frame];
    [btn setButtonType:NSMomentaryPushInButton];
    [btn setBezelStyle:NSRoundedBezelStyle];
    [btn setTitle:@"Close"];
    [btn setTarget:self];
    [btn setAction:@selector(closeWindow)];
    [view addSubview:btn];



}


-(void)closeWindow{}

close windowメソッドに何を入れたらいいのかわからない

4

3 に答える 3

2

次の行に沿って何かを使用して、現在のウィンドウを閉じることができます。

NSWindow *window = [[NSApplication sharedApplication] keyWindow];
[window close];

ただし、デリゲート メソッドを呼び出したり、閉じるボタンを強調表示したりしないため、これはウィンドウを閉じるユーザーを積極的にシミュレートしません。代わりにこれを使用することもできます:

NSWindow *window = [[NSApplication sharedApplication] keyWindow];
[window performClose:sender];

その場合、ボタンを送信者として渡したいと思うでしょう。メソッドでボタンをcloseWindowオブジェクトとして受け取って、物事を簡単にすることができます。

于 2012-07-12T02:49:08.627 に答える
0

NSWindowController サブクラスから実行する場合は、[self close].

于 2012-07-12T03:01:05.480 に答える
-1

ビューをタッチして現在のビューにする場合は、removeFromSuperview を使用できます。[self removeFromSuperview]; を追加するだけです。

于 2012-07-12T03:01:07.860 に答える