MacApp 自定义按钮关闭模态Window

初入Mac App,过程坑定会遇到一些坑。但是经过不断的尝试,总归有解决的方式。

先说下我遇到的问题吧,在viewController中Modal了另外一个Window.
并且隐藏了titleBar,自己放了个按钮来关闭window。

(以下代码直接拷贝工程中的代码,需要根据实际情况做处理)
Modal一个新的Window的代码如下:

//注册按钮被点击
- (IBAction)registerBtnClick:(NSButton *)sender {
    
    TDRegisterWindowController *winCon = [TDRegisterWindowController windowController];
    
    winCon.window =  [[TDRegisterWindow alloc]init];
    
    [[NSApplication sharedApplication] runModalForWindow:winCon.window];
    
}

相应按钮事件的ViewController


- (void)viewDidLoad {
    [super viewDidLoad];
  
    //需要再这里注册一个界面退出的通知    
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(stopAction) name:NSWindowWillCloseNotification object:nil];

}

//自定义按钮被点击
- (IBAction)dismissWindow:(NSButton *)sender {

    //关闭窗口
    [self.view.window close];
    
}

//退出ModalWindow
-(void)stopAction {

    [NSApp stopModal];
    
}


C717DECF-EABD-4D74-91E6-97BF51399047.png

推荐阅读更多精彩内容