0

次のコードを使用して、MacOS でアプリのステータスバー メニューを作成しています。

let statusBarItem = NSStatusBar.system.statusItem(withLength: -1)

 func applicationDidFinishLaunching(_ aNotification: Notification) {

        let menu: NSMenu = NSMenu()
        var menuItem = NSMenuItem()
        menuItem.title = "Hello"
        menu.addItem(menuItem)
      
        statusBarItem.menu=menu
}

これは機能しますが、チェックボックスやボタンなどを含むカスタム行をこのメニューに追加する方法を知りたいです。添付の VLC ビデオ プレーヤーのスクリーンショットを参照してください。

ここに画像の説明を入力

4

1 に答える 1

0

とても簡単です。NSMenuItem にはプロパティ ビューがあります。これに任意のビューを設定できます。

  let menu: NSMenu = NSMenu()
        var menuItem = NSMenuItem()
        
        let frame = CGRect(origin: .zero, size: CGSize(width: 100, height: 20))
        let viewHint = NSView(frame: frame)
        let switchButton = NSSwitch(frame: frame)
        viewHint.addSubview(switchButton)
        
        
        menuItem.view = viewHint
于 2021-02-04T21:30:46.283 に答える