如何在 Mac Catalyst 中检测窗口大小调整?
Posted
技术标签:
【中文标题】如何在 Mac Catalyst 中检测窗口大小调整?【英文标题】:How to detect window resizing in Mac Catalyst? 【发布时间】:2020-01-29 05:56:59 【问题描述】:当用户在以下情况下调整窗口大小时如何获得通知:
NotificationCenter.default.addObserver(self, selector: #selector(function), name: NSWindowDidResizeNotification, object: nil)
在 Mac Catalyst 中不可用
【问题讨论】:
【参考方案1】:就像在 ios 中一样。在您的窗口场景委托中使用windowScene(_:didUpdate:interfaceOrientation:traitCollection:)
,或在您的视图控制器中实现viewWillTransition(to:with:)
。
【讨论】:
如果它似乎并不总是在调整大小,尤其是在尝试全屏时,请将您要更新的任何内容包装在DispatchQueue.main.async ...
中。
如果您的应用中没有使用场景怎么办?
@Oscar 你错过了答案的第二部分吗?
嗨,里奥。会尽快尝试。
我在 viewWillTransitionTo 中实现了缩放计算,效果很好。以上是关于如何在 Mac Catalyst 中检测窗口大小调整?的主要内容,如果未能解决你的问题,请参考以下文章
Mac-catalyst - Mac 催化剂应用程序的最小窗口大小