如何在Cocoa Mac中以编程方式关闭窗口?

Shi*_*han 10 macos cocoa window objective-c xib

如何以编程方式关闭可可mac中的窗口?我已经使用按钮单击从第一个窗口/ xib打开了第二个窗口/ xib.我需要在打开或单击按钮时以编程方式关闭第一个窗口/ xib.我怎样才能做到这一点?

Jos*_*ell 15

Apple在Nib Loading上有一些有用的示例代码.然而,它没有直接解决这个问题; 以下代码可以.

@interface CloseWindowAppDelegate : NSObject <NSApplicationDelegate> {
    NSWindow *window;
    IBOutlet NSWindow * secondWindow;
    NSNib * secondNib;
}

@property (assign) IBOutlet NSWindow *window;

- (IBAction)openSecondWindow:(id)sender;

- (IBAction)closeSecondWindow:(id)sender;

@end
Run Code Online (Sandbox Code Playgroud)
#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
Run Code Online (Sandbox Code Playgroud)


小智 5

我找这个很久了!一个简单的

[self close];
[self release];
Run Code Online (Sandbox Code Playgroud)

为我工作。:-)