macos - 检测 App 何时进入全屏模式 (Swift/Mac)

标签 macos swift cocoa

我希望这是一个简单的问题,但我正在尝试找出一种方法来确定用户何时选择在应用程序中进入全屏模式。实际上,我在 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/

相关文章:

objective-c - 我可以在 NSView 的工具提示内添加超链接吗?

macos - 在 Mac OSX 10.9.5 上安装 Scrapy

swift - 索引 0 超出空 NSArray 的范围与 asset.tracks(withMediaType :)

ios - 多选 TableView - 当部分展开/折叠时在自定义标题中旋转图像

ios - 如何显示来自不同类的警报

objective-c - 具有 URL 样式格式的 NSTextField

cocoa - NSImage → NSURL → 自定义对象

swift - 当 AVAudioPlayer URL 为 nil 时停止崩溃?

macos - 从 Mac 应用程序启动 Safari

macos - 在 Mac OS 上将 Node.js 升级到最新版本