OSX application without storyboard or xib files using Swift

后端 未结 3 788

Unfortunately, I haven\'t found anything useful on the Internet - I wanted to know, what code I actually have to type for initializing an application without using storyboar

3条回答
  •  -上瘾入骨i
    2020-11-30 23:21

    In Swift 4 it has changed slightly yet again,

    The main file must have

    import Cocoa
    
    let delegate = AppDelegate()
    NSApplication.shared.delegate = delegate
    
    NSApplicationMain(CommandLine.argc, CommandLine.unsafeArgv)
    

    The AppDelegate must be

    import Cocoa
    
    
    class AppDelegate: NSObject, NSApplicationDelegate {
        var newWindow: NSWindow?
        var controller: ViewController?
    
        func applicationDidFinishLaunching(_ aNotification: Notification) {
            newWindow = NSWindow(contentRect: NSMakeRect(10, 10, 300, 300), styleMask: .resizable, backing: .buffered, defer: false)
    
            controller = ViewController()
            let content = newWindow!.contentView! as NSView
            let view = controller!.view
            content.addSubview(view)
    
            newWindow!.makeKeyAndOrderFront(nil)
        }
    }
    

    The view controller is the same

提交回复
热议问题