小编bal*_*neb的帖子

使用Swift 3和Cocoa以编程方式创建菜单

我正在尝试使用Swift 3以编程方式创建一个Cocoa GUI应用程序(即没有nib文件).我遇到了应用程序菜单显示的问题.

我希望下面的代码在菜单栏上显示File菜单项.相反,当窗口启动并按预期工作时,设置菜单的代码似乎没有任何效果:

import AppKit

final class ApplicationController: NSObject, NSApplicationDelegate {
    var mainWindow: NSWindow?

    func applicationDidFinishLaunching(_ aNotification: Notification) {
        let mainMenu = NSMenu()
        let mainMenuFileItem = NSMenuItem(title: "File", action: nil, keyEquivalent: "")
        let fileMenu = NSMenu(title: "File")
        fileMenu.addItem(withTitle: "New...", action: nil, keyEquivalent: "n")
        mainMenuFileItem.submenu = fileMenu

        mainMenu.addItem(mainMenuFileItem)

        NSApp.mainMenu = mainMenu

        let window = NSWindow(contentRect: NSRect(x: 0, y: 0, width: 800, height: 600),
                                            styleMask: [.titled, .closable, .resizable, .miniaturizable],
                                            backing: NSBackingStoreType.buffered, defer: false)
        window.orderFrontRegardless()
        window.title = "Hello World"
        self.mainWindow = window …
Run Code Online (Sandbox Code Playgroud)

macos cocoa nsmenu swift3

6
推荐指数
1
解决办法
3613
查看次数

标签 统计

cocoa ×1

macos ×1

nsmenu ×1

swift3 ×1