Xcode默认的向导生成的工程的带有关闭,最小化,最大化这几个按钮,

关闭按钮的事件,最让窗口最小化到Dock中,但当你点击Dock却无法恢复,而在Window菜单中也不会多一个与你程序同名的“X-X-X”菜单项,这样的程序体验不好,如果提到App Store肯定也是会被拒的。当然你如果在程序起动的时候,首先不点击“关闭”按钮,而是点击最小化,你会发现菜单中的Window菜单栏中的最下面会多出一个与程序同名的“X-X-X”菜单项。这是程序自成生成的。当你点“X-X-X”菜单项时,程序就会恢复到原来的样式。

观察很多程序的处理方法:

(1)一个是点击关闭按钮后了让其最小化到Dock栏中,系统不自动在Window菜单中添加“X-X-X”菜单项,注意此时窗口中属性中的"Release When Closed"选项不能勾选,否则就会出错。

-(BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag

{

[window makeKeyAndOrderFront:nil];

return YES;

}

(2)一个方法是点击关闭按钮后直接让程序退出,这个方法比较简单。

//Make ourselves delegate so we'll receive actions as firstResponder

[NSApp setDelegate:self];

//Quit the application when the main window is closed (seems to be accepted in Mac OS X)

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(closeWindow)name:NSWindowWillCloseNotification object:mainWindow];

- (void)closeWindow

{

[NSAppterminate:self];

}

文字转载:http://m.blog.csdn.net/blog/yuanya/24813975

转载于:https://www.cnblogs.com/741162830qq/p/5034928.html

Mac 开发中如何设置 关闭 以及最小化 最大化按钮事件处理相关推荐

  1. 【最终版】PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变大小,仿百度网盘色调美化,添加内容窗口

    [最终版]PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变大小,仿百度网盘色调美化,添加内容窗口 文章目录 [最终版]PyQt5 自定义标题栏,实现无边框,最小化最大 ...

  2. Outlook开机自启+关闭时最小化

    文章目录 开机自启 关闭时最小化 参考文献 开机自启 资源管理器路径中输入 shell:startup 如本人的结果为 C:\Users\Administrator\AppData\Roaming\M ...

  3. Outlook关闭时最小化到任务栏的完美解决方法

    在国外的一个网站上看到了一个com组件,可以让Outlook关闭时最小化. 现在给大家分享一下: 这是用到的dll有32位和64位两种,可根据你自己的机器选择 我用的是outlook 2013,(一定 ...

  4. 通用方法 关闭Outlook最小化非直接退出

    我用的是outlook 2013 保持Outlook一直运行,关闭等于最小化 第一步:将KeepOutlookRunning-64bit.dll拷贝到C:\Windows\System32目录下,注意 ...

  5. JS教程()js弹出小窗口(没有浏览器窗口地址栏,工具栏,菜单栏,显示栏,只有关闭和最小化按钮)

    使用js弹出小窗口(没有浏览器窗口地址栏,工具栏,菜单栏,显示栏,只有关闭和最小化按钮)代码如下:<input type="text" name="ok" ...

  6. PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变大小,仿百度网盘色调美化

    PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变大小,仿百度网盘色调美化 文章目录 PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变 ...

  7. winform实现关闭或最小化隐藏到右下脚

    winform软件实现关闭隐藏到右下脚图标 一.引入NotifyIcon控件 NotifyIcon1_MouseDoubleClick 事件主要实现双击右下角图标显示窗口.具体实现如下: privat ...

  8. Linux图形桌面窗口通过VNC等工具访问后打开窗口没有标题栏,不能移动,关闭,最小化的解决方法

    通过Xmanager .VNC等工具远程登录linux服务器. Linux图形桌面窗口没有标题栏,不能移动,关闭,最小化的解决方法 问题: Linux图形桌面窗口没有标题栏,不能移动,关闭,最小化 现 ...

  9. 最小化”“最大化”“关闭”

    javascript实现屏蔽浏览器右上角.2007-06-09 16:42实现屏蔽浏览器右上角"最小化""最大化""关闭"键的javascr ...

最新文章

  1. su: cannot set user id: Resource temporarily unavailable
  2. vscode 导入第三方jar包(添加外部JAR)
  3. 全球及中国无菌粉末注射用橡胶塞行业运营模式分析及产销需求预测报告2021年版
  4. BCOS系统合约介绍
  5. sudo 安装 常见错误
  6. jdbc是java语言编写的类和接口_JDBC——Java语言连接数据库的标准
  7. python标准库之socket
  8. 知识小结(浮点数问题)
  9. python调用opencv代码_Python调用OpenCV实现图像平滑代码实例
  10. 15天学习MVC后的小结(分享经历与想法)
  11. Go Web编程(Go语言性能好 语法简单 开发效率高 )
  12. 变上限积分无穷小比阶与导数的关系问题
  13. 使用cs与msf进行内网横向移动
  14. 嵌入式方向如何转行?
  15. See Conf 悠鹤《蚂蚁庄园背后的技术与思考》笔记
  16. mybatis与mysql时间总是慢8小时
  17. Redis数据库 专题
  18. tomcat介绍:安装与优化
  19. mysql sql dateadd_sql数据库dateadd
  20. CAD软件中如何标注曲线长度?

热门文章

  1. 解决Win7英文版显示中文乱码
  2. 汇编---输出AX的地址值
  3. AndroidStudio 如何关闭 Install Run
  4. CMake基础 第2节 分离编译
  5. 关于stable_sort()和sort()的区别:
  6. ios::ate ios::app ios::out ios::in ios::trunc ios::binary(组合总结)
  7. 三数之和为0(c语言实现)(改进)
  8. mysql的pager命令,mysql pager用法命令行命令
  9. Struts2与FreeMarker整合
  10. MySQL 存储过程的基本用法