macos – 不可调整大小的窗口swift
发布时间:2020-12-14 05:44:51 所属栏目:百科 来源:网络整理
导读:我有一个名为Hardness的NSViewController,我不需要让用户调整它的大小.当然,我可以在每次用户尝试时重新调整它,但有没有办法让用户打开一个窗口到全屏,或者拉伸窗口? 编辑/更新:Xcode 8.2.1?Swift 3.0.2 NSWindow有一个名为styleMask的属性,允许您控制用户
我有一个名为Hardness的NSViewController,我不需要让用户调整它的大小.当然,我可以在每次用户尝试时重新调整它,但有没有办法让用户打开一个窗口到全屏,或者拉伸窗口?
编辑/更新:Xcode 8.2.1?Swift 3.0.2
NSWindow有一个名为styleMask的属性,允许您控制用户可以使用哪种控件.如果您不想让用户调整窗口大小,则必须使用mutating方法remove(member:NSWindowStyleMask)删除样式掩码.resizable.要再次启用它,您需要使用mutating方法insert(member:NSWindowStyleMask).请注意,它还将禁用该窗口的全屏模式: 删除禁用: window.styleMask.remove(.resizable) 插入以启用 window.styleMask.insert(.resizable) 样品 import Cocoa class ViewController: NSViewController { @IBOutlet weak var closable: NSButton! @IBOutlet weak var miniaturizable: NSButton! @IBOutlet weak var resizable: NSButton! @IBOutlet weak var titled: NSButton! lazy var window: NSWindow! = self.view.window func remove(_ member: NSWindowStyleMask) { window.styleMask.remove(member) } func insert(_ member: NSWindowStyleMask) { window.styleMask.insert(member) } @IBAction func toggle(_ sender: NSButton) { switch sender.state { case NSOnState: switch sender { case closable: insert(.closable) case miniaturizable: insert(.miniaturizable) case resizable: insert(.resizable) case closable: insert(.closable) case titled: insert(.titled) default: break } case NSOffState: switch sender { case closable: remove(.closable) case miniaturizable: remove(.miniaturizable) case resizable: remove(.resizable) case closable: remove(.closable) case titled: remove(.titled) default: break } default: break } } } Sample Project (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |