如何检测 Mac Catalyst 中的窗口大小调整?

Man*_*our 7 uiwindow swift mac-catalyst

如何在用户调整窗口大小时收到通知:

 NotificationCenter.default.addObserver(self, selector: #selector(function), name: NSWindowDidResizeNotification, object: nil)
Run Code Online (Sandbox Code Playgroud)

在 Mac Catalyst 中不可用

Leo*_*ica 10

就像在 iOS 中一样。使用windowScene(_:didUpdate:interfaceOrientation:traitCollection:)在窗口现场委托,或实施viewWillTransition(to:with:)在您的视图控制器。

  • 如果它似乎并不总是在调整大小,特别是在尝试全屏时,请将您要更新的所有内容包装在“DispatchQueue.main.async { ... }”中。 (2认同)