MacOS 开发 — NSStatusBar + NSPopover

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/HeroGuo_JP/article/details/88256397

MacOS 开发 — NSStatusBar + NSPopover
源码地址:https://github.com/JHiroGuo/NSStatusBarItem

NSStatusBar : macOS系统的顶部导航栏item

@interface AppDelegate (){
    NSStatusItem * statusItem;
}
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    // Insert code here to initialize your application
    /* 初始化 */
    statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
    /* 设置NSImage * /
    [statusItem.button setImage:[NSImage imageNamed:@"math"]];
    /* 设置点击响应事件 */
    statusItem.action = @selector(touchStatusItem:);
}

NSPopover : pop视图

@interface AppDelegate (){
    NSPopover * popover;
}
-(void)touchStatusItem:(NSStatusBarButton *)button{
    /* 初始化 */
    popover = [[NSPopover alloc]init];
    /* 设置动画 */
    popover.behavior = NSPopoverBehaviorTransient;
    /* 设置外观 */
    popover.appearance = [NSAppearance appearanceNamed:NSAppearanceNameVibrantLight];
    /* 设置展示视图 */
    popover.contentViewController = [[PopViewController alloc]initWithNibName:@"PopViewController" bundle:nil];
    /* 设置展示方位 */
    [popover showRelativeToRect:button.bounds ofView:button preferredEdge:NSRectEdgeMaxY];
}

效果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/HeroGuo_JP/article/details/88256397