为什么视图控制器在设置“模态”中不遵循窗口控制器的外观?

时间:2018-10-23 04:36:26

标签: xcode macos cocoa storyboard nswindowcontroller

有一个连接到视图控制器的窗口控制器

当菜单项单击时,我想将该窗口显示为模态

enter image description here

在显示窗口之后,但是我发现视图控制器不遵循窗口控制器的外观

enter image description here

任何窗口控制器外观也不起作用..包括内容大小,窗口标题...等

那是什么问题?

1 个答案:

答案 0 :(得分:3)

考虑到您只显示视图控制器,而不显示您使用presentAsModalWindow(_ viewController: NSViewController)定义的任何相关窗口控制器

  

viewController成为显示窗口时的委托和contentViewController

您可以在自定义视图控制器的viewWillAppear中进行窗口自定义

    override func viewWillAppear() {

    let closeButton = view.window?.standardWindowButton(.closeButton)
    closeButton?.isHidden = true

}

viewDidLoad中,窗口属性仍为零。

如果要显示窗口控制器,请执行以下操作触发我的菜单项。

    @IBAction func showMyWindowController(sender:NSMenuItem){

    let storyboard = NSStoryboard(name: "Main", bundle: nil)
    let windowController = storyboard.instantiateController(withIdentifier: "MyWindowController") as! NSWindowController

    windowController.showWindow(self)

}

希望这会有所帮助