macOS NSStatusBar + NSPopover

作者: ZhongXi | 来源:发表于2017-01-20 16:28 被阅读316次

    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:@"statusItem"]];
        /* 设置点击响应事件 */
        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];
    }
    

    效果图

    NSStatusBar + NSPopover效果图

    相关文章

      网友评论

      本文标题:macOS NSStatusBar + NSPopover

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