【问题标题】:How to detect window resizing in Mac Catalyst?如何在 Mac Catalyst 中检测窗口大小调整?
【发布时间】:2020-01-29 05:56:59
【问题描述】:

当用户在以下情况下调整窗口大小时如何获得通知:

 NotificationCenter.default.addObserver(self, selector: #selector(function), name: NSWindowDidResizeNotification, object: nil)

在 Mac Catalyst 中不可用

【问题讨论】:

    标签: swift uiwindow mac-catalyst


    【解决方案1】:

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

    【讨论】:

    • 如果它似乎并不总是在调整大小,尤其是在尝试全屏时,请将您要更新的任何内容包装在 DispatchQueue.main.async { ... } 中。
    • 如果您的应用中没有使用场景怎么办?
    • @Oscar 你错过了答案的第二部分吗?
    • 嗨,里奥。会尽快尝试。
    • 我在 viewWillTransitionTo 中实现了缩放计算,效果很好。
    猜你喜欢
    • 1970-01-01
    • 2021-03-26
    • 1970-01-01
    • 2013-02-10
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-21
    相关资源
    最近更新 更多