我希望这是一个简单的问题,但我正在尝试找出一种方法来确定用户何时选择在应用程序中进入全屏模式。实际上,我在 Cocoa 应用程序中有一个表格,当应用程序进入全屏模式时,它看起来很傻。我想在应用程序进入全屏模式后以编程方式调整表格行的高度,但我似乎不知道该怎么做。
我认识到需要使用 windowWillEnterFullScreen:
和 windowDidEnterFullScreen:
,或者找到一种方法让我的窗口符合我的 App Delegate 文件,尽管我正在努力把这个想出来(解决;计算出;弄明白。是否可以提供任何可能指向正确方向的资源?
谢谢!
编辑:这是我尝试做的;
AppDelegate.swift 进口 cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate, NSWindowDelegate {
var window: NSWindow!
func windowDidResize (notification: NSNotification) {
window.delegate = self
print("resized")
}
func applicationDidFinishLaunching(aNotification: NSNotification) {
// Insert code here to initialize your application
}
func applicationWillTerminate(aNotification: NSNotification) {
// Insert code here to tear down your application
}
}
最佳答案
windowWillEnterFullScreen:
和 windowDidEnterFullScreen:
是 NSWindowDelegate方法——为了能够使用它们,你只需要成为 NSWindow 的delegate
。您的应用委托(delegate)对象或任何其他对象都可以用于此目的。
如果您想在过渡期间使用自定义动画,可以使用一些其他委托(delegate)方法,例如 window:startCustomAnimationToEnterFullScreenOnScreen:withDuration:
。
您还可以检查 window.styleMask & NSFullScreenWindowMask != 0
以检查窗口当前是否全屏。
关于macos - 检测 App 何时进入全屏模式 (Swift/Mac),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32639918/