MacApp 自定义按钮关闭模态Window
2016-10-25 本文已影响115人
我就叫土豆
初入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