簡體   English   中英

如何使用Storyboards / Cocoa在Swift 3.x中引用視圖的窗口

[英]How do you reference the view's window in Swift 3.x using Storyboards/Cocoa

借助Xcode和Swift的所有更改,我無法弄清楚如何以在stotyboard驅動的項目中解決視圖窗口的方式,就像我在使用XIB的項目中所做的那樣。 macOS編程的新手,如果這是基本內容,請提前道歉:

使用情節提要時,如何使用例如更改視圖的窗口狀態:

window.titleVisibility = .hidden
window.setContentSize(size)

在xib驅動的項目中,我正在使用

@IBOutlet weak var window: NSWindow!

但這似乎不適用於情節提要。 如何使用情節提要進行相同的整理? 任何幫助表示贊賞!

您可以通過訪問其window屬性來獲取視圖窗口的引用。 請注意,這無法在加載視圖后完成,但是您可以使用惰性初始化程序為視圖控制器創建window屬性:

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

您可以在viewWillAppear方法中進行窗口自定義:

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
}

這是一個好的方法嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM