在第二个ViewController中禁用closeButton

时间:2017-06-05 11:39:35

标签: swift xcode macos swift3 viewcontroller

我试图在我的第二个ViewController" OptionsVC"

中禁用closeButton

这是我尝试的内容:

self.view.window!.standardWindowButton(NSWindowButton.closeButton)!.isHidden = true

这样做了,得到了这个: EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0

也试过

var button = view.window?.standardWindowButton(NSWindowButton.ZoomButton)
button?.isEnabled = false

无变化

2 个答案:

答案 0 :(得分:0)

为了禁用按钮,应该初始化它。因此,您将面临从其他视图控制器禁用该按钮的问题。尝试添加一个布尔值,并在viewDidLoad()上检查布尔值并决定启用或禁用该按钮。

答案 1 :(得分:0)

我明白了。

override func viewDidAppear(){
super.viewDidAppear()

if let window1 = self.view.window
  {
    window1.styleMask.remove( [.closable, .resizable] )
  }
}

这解决了我的问题