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