我希望这是一个简单的问题,但我试图找出一种方法来确定用户何时选择在应用中进入全屏模式。实际上,我在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
}
}
答案 0 :(得分:3)
windowWillEnterFullScreen:
和windowDidEnterFullScreen:
是NSWindowDelegate方法 - 为了能够使用它们,您只需要成为NSWindow delegate
。您的app委托对象或任何其他对象可以实现此目的。
如果您想在转换过程中使用自定义动画,可以使用其他一些委托方法,例如window:startCustomAnimationToEnterFullScreenOnScreen:withDuration:
。
您还可以检查window.styleMask & NSFullScreenWindowMask != 0
以检查窗口当前是否为全屏。