如何引用视图';使用故事板/Cocoa在Swift 3.x中创建s窗口

如何引用视图';使用故事板/Cocoa在Swift 3.x中创建s窗口,swift,xcode,macos,cocoa,nswindow,Swift,Xcode,Macos,Cocoa,Nswindow,由于Xcode和Swift中的所有更改,我无法像在使用XIB的项目中那样,在stotyboard驱动的项目中处理视图窗口。macOS编程新手,如果这是基本内容,请提前道歉: 使用情节提要时,如何使用以下命令更改视图的窗口状态: window.titleVisibility = .hidden window.setContentSize(size) 在xib驱动的项目中,我使用 @IBOutlet weak var window: NSWindow! 但这似乎与故事板的工作方式不同。我如何使用

由于Xcode和Swift中的所有更改,我无法像在使用XIB的项目中那样,在stotyboard驱动的项目中处理视图窗口。macOS编程新手,如果这是基本内容,请提前道歉:

使用情节提要时,如何使用以下命令更改视图的窗口状态:

window.titleVisibility = .hidden
window.setContentSize(size)
在xib驱动的项目中,我使用

@IBOutlet weak var window: NSWindow!

但这似乎与故事板的工作方式不同。我如何使用故事板进行同样的操作?感谢您的帮助

您可以通过访问视图窗口的窗口属性来获取视图窗口的引用。请注意,这不能在view Dod load内部完成,但您可以使用惰性初始值设定项为视图控制器创建窗口属性:

lazy var window: NSWindow! = self.view.window
您可以在ViewWillDisplay方法中进行窗口自定义:

import Cocoa


class ViewController: NSViewController {

    lazy var window: NSWindow! = self.view.window

    override func viewWillAppear() {
        super.viewWillAppear()
        window.titleVisibility = .hidden
    }
}

您可以通过访问视图窗口的窗口属性来获取视图窗口的引用。请注意,这不能在view Dod load内部完成,但您可以使用惰性初始值设定项为视图控制器创建窗口属性:

lazy var window: NSWindow! = self.view.window
您可以在ViewWillDisplay方法中进行窗口自定义:

import Cocoa


class ViewController: NSViewController {

    lazy var window: NSWindow! = self.view.window

    override func viewWillAppear() {
        super.viewWillAppear()
        window.titleVisibility = .hidden
    }
}
这似乎有效:

if let window = NSApplication.shared().mainWindow {
    window.titleVisibility = .hidden
}
这样做行吗?

这似乎可行:

if let window = NSApplication.shared().mainWindow {
    window.titleVisibility = .hidden
}

这样做可以吗?

只需添加
view.window?.titleviability=.hidden
内部视图将显示方法。如果您的视图窗口不是主窗口怎么办?只需添加
view.window?.titleviability=.hidden
内部视图将显示方法。如果您的视图窗口不是主窗口怎么办?如果我执行上述操作,然后使用window.titleviability=.hidden in viewDidLoad()该应用程序崩溃,但它在viewWillDisplay()中工作。有更好的地方吗?
main window.titleviability=.hidden
错误
window.titleviability=.hidden
你试过我的代码了吗?你说更好的地方是什么意思?内部视图加载无法完成。
view.window
属性将始终返回nil,因此我在我的应用程序中重命名了它,抱歉。把它换回来。这很有效,再次感谢!我只是想知道ViewWillAppeal是否是一个好地方:)如果我执行上述操作,然后使用window.titleviability=.hidden in viewDidLoad()应用程序会崩溃,但它在ViewWillAppeal()中工作。有更好的地方吗?
main window.titleviability=.hidden
错误
window.titleviability=.hidden
你试过我的代码了吗?你说更好的地方是什么意思?内部视图加载无法完成。
view.window
属性将始终返回nil,因此我在我的应用程序中重命名了它,抱歉。把它换回来。这很有效,再次感谢!只是想知道ViewWillDisplay是否是一个拥有它的好地方:)