我是 swift 的新手,但我“卡住了”。
我知道 C、Java、C++、PHP 等...
我正在尝试使用 swift 编写一个多窗口应用程序(使用 Cocoa 的 Mac OS 应用程序)。我已经可以做到了,但我的问题是当我关闭主 窗口时。如果我关闭我的主窗口,当我尝试向其中添加子项时,我会收到错误消息或新窗口不会打开。
我有这个:
class SmallWindow: NSViewController {
@IBOutlet var window: NSWindow! //Window inside the .xib file
override func viewDidLoad() {
super.viewDidLoad()
// Do view setup here.
}
}
我已经使用 NSWindowController
和 NSWindow
尝试了上述操作。
var smallwin = SmallWindow()
smallwin.window.makeKeyAndOrderFront(self)
//already tried with smallwin.window too
我想知道如何以编程方式启动一个新窗口。我是否遗漏了一些步骤?
@IBOutlet var window: NSWindow!
@IBOutlet var smallwin : SmallWindow!
func applicationDidFinishLaunching(aNotification: NSNotification) {
smallwin = SmallWindow()
window.addChildWindow(smallwin.window, ordered: NSWindowOrderingMode.Above)
}
最佳答案
您可能不需要子 窗口。你只需要一个窗口。
要在屏幕上放置一个新窗口,您需要做三件事:
以编程方式或通过加载 nib 创建窗口。
向窗口发送订购信息。通常您要发送
makeKeyAndOrderFront
或orderFront
。参见 “Opening and Closing Windows” in the Window Programming Guide .保持对窗口的强引用。系统不一定保留对屏幕窗口的强引用。如果窗口被解除分配,它将自己从屏幕上移除。
关于swift - 使用 swift 启动一个主窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27047257/