macOS APP Without StoryBoard
本文最后更新于 2021年4月4日 晚上
本文主要介绍无 StoryBoard 方式的 macOS APP 实现, 并给出具体代码.
通过普通的 macOS APP 模板新建工程后, 进行如下步骤即可:
删除
Main.storyboard
(包括 info.plist 中的入口).添加 main.swift:
1
2
3
4import Cocoa
NSApplication.shared.delegate = AppDelegate() // 设置应用代理
_ = NSApplicationMain(CommandLine.argc, CommandLine.unsafeArgv) // 启动应用修改 AppDelegate 实现:
1
2
3
4
5
6
7
8
9
10
11
12
13import Cocoa
class AppDelegate: NSObject, NSApplicationDelegate {
var window: NSWindow?
func applicationDidFinishLaunching(_ aNotification: Notification) {
let mask: NSWindow.StyleMask = [.miniaturizable, .closable, .resizable, .titled]
window = NSWindow(contentRect: .zero, styleMask: mask, backing: .buffered, defer: false)
window?.makeKeyAndOrderFront(nil)
window?.contentViewController = ViewController()
window?.center()
}
}注意这里移除了
@NSApplicationMain
注解.修改 ViewController 实现:
1
2
3
4
5
6
7
8
9class RootContentViewController: NSViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func loadView() {
view = NSView(frame: NSRect(x: 0, y: 0, width: 480, height: 480))
}
}
经过上述步骤完成了 APP 的入口配置, 这样就可以开始后续的开发了, 如果需要 menu, 可以在 NSApplication.shared.mainMenu
上设置 menu.
macOS APP Without StoryBoard
https://blog.rayy.top/2020/07/11/2020-07-11-mac-dev-01/