zoukankan      html  css  js  c++  java
  • Mac 开发中如何设置 关闭 以及最小化 最大化按钮事件处理

    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

  • 相关阅读:
    数据结构总结——线段树
    [bzoj2131]免费的馅饼 树状数组优化dp
    [机房练习赛7.26] YYR字符串
    博客已搬家
    AFO
    COGS-2551 新型武器
    UVALive-3716 DNA Regions
    UVALive-4850 Installations
    UVALive-3983 Robotruck
    UVA-10859 Placing Lampposts
  • 原文地址:https://www.cnblogs.com/741162830qq/p/5034928.html
Copyright © 2011-2022 走看看