【问题标题】:How to animate closing NSWindow to NSStatusItem?如何动画关闭 NSWindow 到 NSStatusItem?
【发布时间】:2018-05-13 21:50:22
【问题描述】:

当你最小化 NSWindow 时,你会得到一个漂亮的 Dock 动画。如何在菜单栏中实现类似“最小化”到NSStatusItem的动画?

我已将其设置为当您关闭 NSWindow 但没有动画时出现 NSStatusItem 的位置。

我尝试过为窗口框架设置动画,但由于各种布局限制,它的最小尺寸会妨碍。

【问题讨论】:

    标签: macos cocoa nswindow nsstatusitem


    【解决方案1】:

    为整个 NSWindow 设置动画是不正确的方法,并且会导致看起来很垃圾的动画。我建议捕获窗口的快照并将其添加到透明的全屏窗口以动画化图像视图层。这样它的票价更顺利。要了解如何实现它,请查看project on git

    希望这会有所帮助。

    【讨论】:

    • 这是正确答案。停靠“精灵”效果的窗口是一个假动画。
    • 是否需要透明全屏窗口?听起来像是一种具有潜在副作用的 hack。
    • 就像奥斯卡说的,苹果也在这样做。
    • 您知道 Mac App Store 中的应用是否允许使用 JNWAnimatableWindow 吗?
    • 我在 Mac App Store 中有一个应用程序,它使用相同的技术来翻转窗口。我从来没有使用过 JNWAnimatableWindow,但它应该是一个很好的来源,可以了解它是如何完成的。我还找到了另一个关于如何为 NSWindow stackoverflow.com/questions/10517386/… 设置动画的资源。也许这更容易实现,并且已经符合您的要求。但正如层技术所提到的,它可以通过转换使其更平滑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    • 1970-01-01
    相关资源
    最近更新 更多