小编bap*_*482的帖子

仅在 NSStatusBarButton 右键单击​​上显示 NSMenu?

我有以下代码:(可以复制粘贴到新的 macOS 项目)

import Cocoa
import SwiftUI

@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
    var statusBarItem: NSStatusItem!

    func applicationDidFinishLaunching(_ aNotification: Notification) {

        let statusBar = NSStatusBar.system
        statusBarItem = statusBar.statusItem(
            withLength: NSStatusItem.squareLength)
        statusBarItem.button?.title = ""

        // Setting action
        statusBarItem.button?.action = #selector(self.statusBarButtonClicked(sender:))
        statusBarItem.button?.sendAction(on: [.leftMouseUp])

        let statusBarMenu = NSMenu(title: "Status Bar Menu")
        statusBarMenu.addItem(
            withTitle: "Order an apple",
            action: #selector(AppDelegate.orderAnApple),
            keyEquivalent: "")

        statusBarMenu.addItem(
            withTitle: "Cancel apple order",
            action: #selector(AppDelegate.cancelAppleOrder),
            keyEquivalent: "")

        // Setting menu
        statusBarItem.menu = statusBarMenu
    }

    @objc func statusBarButtonClicked(sender: NSStatusBarButton) {
        let event …
Run Code Online (Sandbox Code Playgroud)

macos cocoa appkit swift swiftui

11
推荐指数
2
解决办法
2196
查看次数

带有加号和减号按钮的 MacOS 样式列表

我怎样才能在 SwiftUI 中做这样的事情? 在此处输入图片说明 估计这个视图是用 Cocoa 构建的,因为我什至无法正确布局 List 和 GroupBox:出现奇怪的边框。 在此处输入图片说明 SwiftUI 中没有 Table 视图,也没有 NSSegmentedControl。
这是我到目前为止得到的代码:

import SwiftUI

struct DetailView: View {
    let text: String

    var body: some View {

        GroupBox {

            Text(text)
                .frame(maxWidth: .infinity, maxHeight: .infinity)
        }
        .padding(.leading, 20)
        .frame(width:300, height:300)
    }
}


struct ContentView: View {
    private let names = ["One", "Two", "Three"]
    @State private var selection: String? = "One"

    var body: some View {
        NavigationView {
            List(selection: $selection) {
                Section(header:
                Text("Header")) {
                    ForEach(names, id: \.self) { name in …
Run Code Online (Sandbox Code Playgroud)

macos swiftui

5
推荐指数
1
解决办法
649
查看次数

我在哪里可以找到 SwiftUI 中的微调图标?

我了解到可以像这样渲染系统图像:

Image(nsImage: NSImage(imageLiteralResourceName: NSImage.addTemplateName))
Run Code Online (Sandbox Code Playgroud)

但是似乎没有对应的 spinner 模板名称: 在此处输入图片说明

我必须使用自定义 svg 吗?

macos swift swiftui

3
推荐指数
1
解决办法
2638
查看次数

标签 统计

macos ×3

swiftui ×3

swift ×2

appkit ×1

cocoa ×1