xcode 自定义最小化窗口按钮macOS - Swift

yr9zkbsy  于 2023-08-07  发布在  Mac
关注(0)|答案(2)|浏览(135)

我正在用Swift开发一个macOS应用。我正在设计的视图禁用了标准的“交通灯”,并有一个透明的全尺寸内容标题栏。我需要设计一个新的自定义交通灯退出应用程序和一个最小化窗口。我已经找到了如何制作一个自定义退出按钮,但我不能设法创建一个自定义最小化按钮。我是macOS编程的新手,所以我肯定做错了什么。
这是我尝试使用的代码,但它不起作用:

@IBAction func miniApp(_ sender: Any) {
        NSWindow.miniaturize(self)
    }

字符串
使用Swift 4
我不知道该怎么做。先谢谢你了

tcbh2hod

tcbh2hod1#

您需要将该操作发送到当前窗口。如果这个动作在你的视图控制器中,那么它应该是

@IBAction func miniApp(_ sender: Any) {
    self.view.window.miniaturize(self)
}

字符串

lvmkulzt

lvmkulzt2#

style mask [. minimizable]需要调用minimize(self),这将在内部启用窗口中的默认Minimize按钮。

@IBAction func miniApp(_ sender: Any) {
    self.window.styleMask.insert(.miniaturizable)
    self.window.miniaturize(self)
}

字符串
当窗口显示给用户时,您可以再次禁用“最小化”按钮。实现windowDidBecomeMain函数并删除最小化选项

func windowDidBecomeMain(_ notification: Notification) {
        
        mywin?.styleMask.remove(.miniaturizable)
    }

相关问题