Swift:如何通过点击按钮打开一个新窗口?

4

我刚接触这门编程语言,想创建一个应用程序,当我点击按钮时打开一个窗口显示一些信息,但我不知道如何实现。

我不使用故事板,因为我读到它们对于专业编程来说并不起作用。

我不想要iOS的应用程序,我希望它是为OS X设计的。

祝大家好运!


当然,许多专业的程序都在使用故事板。 - djunod
1个回答

4

这很简单。您可以按照以下步骤操作:

import Cocoa

@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
    @IBOutlet weak var window: NSWindow!
    let myNewWindow = NSWindow(contentRect: NSMakeRect(0,0,640,480), styleMask: NSBorderlessWindowMask, backing: NSBackingStoreType.Buffered, defer: false)
    //        NSBorderlessWindowMask  = 0,
    //        NSTitledWindowMask  = 1 << 0,
    //        NSClosableWindowMask  = 1 << 1,
    //        NSMiniaturizableWindowMask  = 1 << 2,
    //        NSResizableWindowMask  = 1 << 3,
    //        NSTexturedBackgroundWindowMask  = 1 << 8
    func applicationDidFinishLaunching(aNotification: NSNotification) {
        // Insert code here to initialize your application

    }
    func applicationWillTerminate(aNotification: NSNotification) {
        // Insert code here to tear down your application
    }
    @IBAction func btnNewWindow(sender: AnyObject) {
        myNewWindow.opaque = false
        myNewWindow.movableByWindowBackground = true
        myNewWindow.backgroundColor = NSColor(hue: 0, saturation: 1, brightness: 0, alpha: 0.7)
        myNewWindow.makeKeyAndOrderFront(nil)
    }
}

我该如何控制那个窗口?就像在.xib文件中一样 :/ - Gonzalo Lugo
您可以根据需要使用xib创建窗口,然后只需将其连接到一个outlet即可。 - Leo Dabus
我现在做到了,只需添加“myNewWindow.makeKeyAndOrderFront(nil)”方法即可。非常感谢! - Gonzalo Lugo
我无法在新项目中使其工作。我已经复制了所有这些代码并将其全部添加到applicationDidFinishLaunching函数中。我无法设置像@IBOutlet weak var window: NSWindow!这样的输出口,但我也看不到窗口输出口是如何被引用的。谢谢! - iphaaw
你可能正在使用故事板。我会发布一个链接,可以帮助你。 - Leo Dabus
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接