最近一直在学习macOS开发,虽然接触过macOS开发的人都建议使用storyboard
或者XIB
开发,因为在这两个图形化变成工具内部官方做了很多的事,但是我仍然在继续坚持iOS开发的习惯使用纯代码编写,学习阶段嘛不应该偷工减料,多了解为主,闲话不多说
问题:使用
NSWindow
初始化之后,点击右上角的红色关闭按钮之后不关闭,点击dock栏重新显示
解决
- 首先设置当前窗口关闭的时候不释放内存
[window setReleasedWhenClosed:NO];
- 显示初始化窗口的方法使用下面的这个方法,别的方法不回调代理方法
[self.window makeKeyAndOrderFront:self];
错误❌:下面的方法也可以初始化窗口,但是代理回调方法会失效
[NSApp beginModalSessionForWindow:self.window];
- 回调代理方法里面把窗口重新显示回来
- (BOOL)applicationShouldHandleReopen:(NSApplication *)sender hasVisibleWindows:(BOOL)flag {
if (flag == NO) {
[_window makeKeyAndOrderFront:self];
return YES;
}else{
return NO;
}
}
上面判断里面的显示代码千万别弄反了
完结
网友评论