Mac 开发中如何设置 关闭 以及最小化 最大化按钮事件处理
2015-12-10 09:08
507 查看
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
关闭按钮的事件,最让窗口最小化到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
相关文章推荐
- Simplescalar安装流程
- Android TabHost切换卡
- mianxiangduixiang
- 内部类在方法和作用域内的用途
- volatile
- Android处理崩溃的一些实践
- Android键盘面板冲突 布局闪动处理方案
- 【代码笔记】饼图
- sysfs实例
- 如何在 CentOS 7.x 上安装 Zephyr 测试管理工具
- linux时间同步,ntpd、ntpdate
- Assembly x64 Intro - Register Macro Define from OpenH264
- 【代码笔记】饼图
- tomcat如何按站点调试本机程序
- 12.8
- pyqt右键菜单
- oracle 11g 数据库中文字段,vs2013 MFC工程 显示乱码解决办法
- 欢迎使用CSDN-markdown编辑器
- 44种IE css bug实例测试总结[转]
- [Windows Server 2008] 查看PHP详细错误信息