OSX应用程序没有故事板或xib文件使用Swift
发布时间:2020-12-14 05:20:13 所属栏目:百科 来源:网络整理
导读:不幸的是,在互联网上没有发现任何有用的东西 – 我想知道,在 Swift中没有使用storyboard或XIB文件的情况下,我实际上必须输入什么代码才能初始化应用程序.我知道我必须有一个.swift文件叫main.但是我不知道该写什么(像我需要autoreleasepool或类似的东西).例
不幸的是,在互联网上没有发现任何有用的东西 – 我想知道,在
Swift中没有使用storyboard或XIB文件的情况下,我实际上必须输入什么代码才能初始化应用程序.我知道我必须有一个.swift文件叫main.但是我不知道该写什么(像我需要autoreleasepool或类似的东西).例如,我将如何初始化NSMenu,以及如何将NSViewController添加到活动窗口(iOS的类似的.rootViewController没有帮助).感谢任何帮助;)
编辑:
如果您不想拥有@NSApplicationMain属性,请执行以下操作:
>有一个文件main.swift import Cocoa let delegate = AppDelegate() //alloc main app's delegate class NSApplication.sharedApplication().delegate = delegate //set as app's delegate // Old versions: // NSApplicationMain(C_ARGC,C_ARGV) NSApplicationMain(Process.argc,Process.unsafeArgv); //start of run loop 其余的应该在你的应用程序委托中.例如.: import Cocoa class AppDelegate: NSObject,NSApplicationDelegate { var newWindow: NSWindow? var controller: ViewController? func applicationDidFinishLaunching(aNotification: NSNotification) { newWindow = NSWindow(contentRect: NSMakeRect(10,10,300,300),styleMask: NSResizableWindowMask,backing: NSBackingStoreType.Buffered,defer: false) controller = ViewController() let content = newWindow!.contentView! as NSView let view = controller!.view content.addSubview(view) newWindow!.makeKeyAndOrderFront(nil) } } 那么你有一个viewController import Cocoa class ViewController : NSViewController { override func loadView() { let view = NSView(frame: NSMakeRect(0,100,100)) view.wantsLayer = true view.layer?.borderWidth = 2 view.layer?.borderColor = NSColor.redColor().CGColor self.view = view } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |