创建按钮menubar_SwiftUI与macOS开发:menuBar/statusBar详解

macOS的menuBar功能非常强大,我们在开发macOS应用的时候,经常需要利用menuBar实现功能。然而网上关于menuBar开发的文档却甚少,更别提用上SwiftUI开发的。这篇文章从以下几部分讲解用SwiftUI开发menuBar/statusBar的方法,希望对大家有帮助:

一、在statusBarItem弹出Popover

二、更改Popover背景色

三、在statusBar上控制主窗口的开关

四、在statusBar上控制statusBar的显隐/开关

一、在statusBarItem弹出Popover

statusBar弹出menu是比较简单的,但是如果我们要做一些定制,就需要用到Popover了

创建Popover

在AppDelegate文件中,声明一个NSPopover变量(下面的statusBarItem之后会用到)

var popover: NSPopover! var statusBarItem: NSStatusItem!

随后,在applicationDidFinishLaunching中, ContentView 初始化之后,加上

// Create the popover  
let popover = NSPopover()  
popover.contentSize = NSSize(width: 400, height: 400)  
popover.behavior = .transient //代表用户点击其他区域时popover自动消失 
popover.contentViewController = NSHostingController(rootView: contentView) 
self.popover = popover

此时我们的AppDelegate文件应该长这样:

import Cocoa
import SwiftUI

@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {

    var popover: NSPopover!
    
    func applicationDidFinishLaunching(_ aNotification: Notification) {
        // Create the SwiftUI view that provides the window contents.
        let contentView = ContentView()

        // Create the popover
        let popover = NSPopover()
        popover.contentSize = NSSize(width: 400, height: 500)
        popover.behavior = .transient
        popover.contentViewController = NSHostingController(rootView: contentView)
        self.popover 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值