How to close a window programmatically in Cocoa Mac?

前端 未结 4 1832
说谎
说谎 2021-02-04 13:20

How can I programmatically close a window in cocoa mac ? I have opened a second window/xib from the first window/xib using button click. I need to close the first window/xib pro

4条回答
  •  轮回少年
    2021-02-04 13:41

    Apple has some useful sample code on Nib Loading. It doesn't directly address this question however; the following code does.

    @interface CloseWindowAppDelegate : NSObject  {
        NSWindow *window;
        IBOutlet NSWindow * secondWindow;
        NSNib * secondNib;
    }
    
    @property (assign) IBOutlet NSWindow *window;
    
    - (IBAction)openSecondWindow:(id)sender;
    
    - (IBAction)closeSecondWindow:(id)sender;
    
    @end
    

    #import "CloseWindowAppDelegate.h"
    
    @implementation CloseWindowAppDelegate
    
    @synthesize window;
    
    - (IBAction)openSecondWindow:(id)sender {
        secondNib = [[NSNib alloc] initWithNibNamed:@"SecondWindow" bundle:nil];
        [secondNib instantiateNibWithOwner:self topLevelObjects:nil];
        [secondWindow makeKeyAndOrderFront:nil];
    
    }
    
    - (IBAction)closeSecondWindow:(id)sender {
        [secondWindow close];
        [secondNib release];
    
    }
    
    @end
    

提交回复
热议问题