Mac NSStatusBar
来源:互联网 发布:战千雄源码 编辑:程序博客网 时间:2024/05/18 02:40
先看NSStatusBar 效果图然后再展开对NSStatusBar的使用。
首先声明一个NSStatusItem。
@property (retain, strong) NSStatusItem *item;
然后对声明的item进行操作
#pragma mark -- NSStatusBar添加图标- (void)addIcon { self.item = [[NSStatusBar systemStatusBar] statusItemWithLength:30]; NSImage *image = [NSImage imageNamed:@"menu_icon"]; [image setTemplate:YES]; self.item.image = image; self.item.highlightMode = YES;}
#pragma mark - 添加item- (void)addItem { NSMenu *menu = [[NSMenu alloc] initWithTitle:@"cloudscreen"]; [menu setMinimumWidth:200]; self.item.menu = menu; // 打开vpn NSMenuItem *disableItem = [[NSMenuItem alloc]initWithTitle:@"打开vpn" action:@selector(setAutoProxy) keyEquivalent:@""]; [disableItem setTarget:self]; [menu addItem:disableItem]; // 打开软件 NSMenuItem *showItem = [[NSMenuItem alloc]initWithTitle:@"打开软件" action:@selector(showClock) keyEquivalent:@""]; [showItem setTarget:self]; [menu addItem:showItem]; [menu addItem:[NSMenuItem separatorItem]]; // 退出登录 NSMenuItem *exitItem = [[NSMenuItem allocWithZone:[NSMenu menuZone]]initWithTitle:@"退出" action:@selector(exit) keyEquivalent:@""]; [exitItem setTarget:self]; [menu addItem:exitItem];}
item实现方法
#pragma mark -- 打开软件- (void)showClock { [NSApp activateIgnoringOtherApps:YES]; [self.window makeKeyAndOrderFront:nil]; [self.window performSelector:@selector(orderFront:) withObject:nil afterDelay:0.1]; // 关于软件// [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://tanhao.sinaapp.com"]];}#pragma mark -- Item代理方法- (void) setAutoProxy { NSLog(@"setAutoProxy====="); [[CSVPNManger sharedManger]connectVPN];}#pragma mark -- 退出- (void)exit { [[CSVPNManger sharedManger]stopVpn]; NSLog(@"关闭vpn"); [[NSApplication sharedApplication] terminate:nil];}
之前也写了一个简单的NSStatusBar,当窗口关闭的时候NSStatusBar会自动灰掉。知道其原理之后就不会出现类似情况了。
0 0
- Mac NSStatusBar
- MAC
- MAC
- Mac
- mac
- mac
- mac
- MAC
- MAC
- MAC
- Mac
- mac
- MAC
- MAC
- Mac
- mac
- mac
- mac
- Android自定义View绘制闪闪发光的文字
- C++作业5
- CodeForces 734 D.Anton and Chess(map)
- DAO
- 跳跃游戏-计蒜课
- Mac NSStatusBar
- CodeForces
- Xamarin.android 的pagerview滑动指示器
- JS对HTML进行转义
- iOS 地图坐标系转换
- 《将博客搬至jianshu》
- phpcms v9无法连接数据库服务器,请检查配置
- 栈的基本操作
- 从0到1利用React-Native构建百思不得姐(四)