美文网首页
NSStatusBarItem控制窗口显示

NSStatusBarItem控制窗口显示

作者: 代码诗仁 | 来源:发表于2017-04-26 22:38 被阅读136次

1.首先先创建NSStatusBarItem ,需要将item保存到属性中,否则对象会被系统的管理机制释放掉,NSStatusBar将不会出现item.

NSStatusItem * item = [[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength];

[item.button setTarget:self];

[item.button setAction:@selector(itemClick:)];

item.button.image = [NSImage imageNamed:@"online"];

self.item  = item;

2.itemClick:方法,此时的item点击事件只能将处于非活动状态的应用窗口呼出到最前面,[[NSRunningApplication currentApplication] activateWithOptions:NSApplicationActivateAllWindows | NSApplicationActivateIgnoringOtherApps];

3.增加通知监听window的变化,系统发出通知,创建属性记录windonw的状态,BOOL 类型isMin,发出通知时,改变属性的值,记录状态的变化.

//最小化时,系统发出通知

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(minWindown:) name:NSWindowDidMiniaturizeNotification object:nil];

//处于最小化时,点击Dock区恢复

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mainWindown:) name:NSWindowDidBecomeMainNotification object:nil];

4.在点击事件中根据属性的值,来控制如何显示windown

- (void)mainWindown:(NSNotification *)noti {

self.isMin = NO;

}

- (void)minWindown:(NSNotification *)noti {

self.isMin = YES;

}

- (IBAction)itemClick:(NSButton *)sender{

if (self.isMin == YES) {

[self.window makeKeyAndOrderFront:self];

[self.window center];

}else {

self.isMin = NO;

[[NSRunningApplication currentApplication] activateWithOptions:NSApplicationActivateAllWindows | NSApplicationActivateIgnoringOtherApps];

}

}

相关文章

  • NSStatusBarItem控制窗口显示

    1.首先先创建NSStatusBarItem ,需要将item保存到属性中,否则对象会被系统的管理机制释放掉,NS...

  • Python 学习笔记 026

    操作系统控制和窗口隐藏等特殊命令 1.控制窗口显示和隐藏 2.控制窗口移动 语音合成 1.输入文本 自动朗读 2....

  • electron学习---BrowserWindow对象

    创建和控制浏览器窗口。 无边框窗口 优雅地显示窗口 父子窗口 模态窗口 模态窗口是禁用父窗口的子窗口,创建模态窗口...

  • VSCode快捷键大全(Mac)

    通用 ⇧⌘P, F1 显示控制台 ⌘P 快速打开,快速查找并进入文件 ⇧⌘N 新建窗口(不是文件) ⌘W 关闭窗口...

  • vscode 快捷键

    通用⇧⌘P, F1 显示控制台 ⌘P 快速打开,快速查找并进入文件 ⇧⌘N 新建窗口(不是文件) ⌘W 关闭窗口 ...

  • COCOS2DX lua显示控制台输出窗口

    COCOS2DX lua显示控制台输出窗口修改 win32\main.cpp 文件

  • 2018-07-27 pygame学习(二)

    1在窗口显示文字 2.窗口显示图片 3.显示图形

  • pygame

    一、创建窗口 创建的窗口如下: 窗口中显示文字 三、窗口中显示图片 运行效果: 四、显示图形 运行效果: 五、动画原理

  • CollectionView的显示偏移

    当在以下情况时 collectionView的显示会出现偏移 CollectionView所属的控制器是 窗口的根...

  • cocosjs 窗口内显示,窗口外不显示

    var clip = new cc.LayerColor(cc.color(0, 0, 0), size.widt...

网友评论

      本文标题:NSStatusBarItem控制窗口显示

      本文链接:https://www.haomeiwen.com/subject/olbwzttx.html