【问题标题】:Disable closeButton in 2nd ViewController在第二个 ViewController 中禁用 closeButton
【发布时间】:2017-06-05 11:39:35
【问题描述】:

我试图在我的第二个 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

没有变化

【问题讨论】:

  • 我不明白您是否只有一个窗口并且您尝试在两种不同的情况下启用/禁用关闭按钮,或者如果您有两个窗口并且想要一个带有关闭按钮的窗口一个没有它。你能澄清一下吗?

标签: swift xcode macos swift3 viewcontroller


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我明白了。

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

    这解决了我的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多