繁体   English   中英

如何部分禁用 NSWindow 的调整大小属性?

[英]How to partially disable resize properties of NSWindow?

在此处输入图像描述

在我的一个 NSWindow(如上图所示)中,我想禁用拆分 window 属性,即“将 Window 平铺到屏幕左侧”和“将 ZC89686A387D2B12B3C729CE35A0BCB5B 平铺到屏幕右侧”。

我现有的 Window Controller 代码如下:

class VideoWindowController: NSWindowController, NSWindowDelegate {

    override func windowDidLoad() {
        super.windowDidLoad()

        // Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.

        self.window?.titlebarAppearsTransparent = false
        self.window?.backgroundColor = NSColor.init(red: 255.0/255.0, green: 255.0/255.0, blue: 255.0/255.0, alpha: 1.0)
        self.window?.styleMask = NSWindow.StyleMask(rawValue: NSWindow.StyleMask.resizable.rawValue | NSWindow.StyleMask.titled.rawValue | NSWindow.StyleMask.closable.rawValue |  NSWindow.StyleMask.miniaturizable.rawValue)            
    }

    @objc func setNonResizableStyle() {
        self.window?.titlebarAppearsTransparent = false
        self.window?.styleMask = NSWindow.StyleMask(rawValue: NSWindow.StyleMask.titled.rawValue | NSWindow.StyleMask.miniaturizable.rawValue)
        self.window?.level = .floating
    }

    @objc func setResizableStyle() {
        self.window?.titlebarAppearsTransparent = false
           self.window?.styleMask = NSWindow.StyleMask(rawValue: NSWindow.StyleMask.resizable.rawValue | NSWindow.StyleMask.titled.rawValue | NSWindow.StyleMask.closable.rawValue |  NSWindow.StyleMask.miniaturizable.rawValue)
        self.window?.level = .normal

       }
}

您必须更改NSWindow object 的collectionBehavior以禁用某些拆分 window 功能:

window?.collectionBehavior = [.fullScreenDisallowsTiling]

更多信息可以在这里找到: https://developer.apple.com/documentation/appkit/nswindow/collectionbehavior

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM