gpt4 book ai didi

objective-c - 实现粉丝 View - Cocoa

转载 作者:行者123 更新时间:2023-12-03 16:38:18 25 4
gpt4 key购买 nike

我正在尝试使用 Cocoa 实现像 Mac OS X Dock 中的 Fan View ,例如“下载”和“文档”文件夹。

我目前正在透明窗口的内容 View 上添加一个按钮,并使用 NSViewAnimation (组动画)对按钮的框架进行动画处理。但动画并没有想象中那么流畅。

还有其他优化方法来实现这一点吗?

最佳答案

您应该使用Core Animation为了这。您应该创建一个足够大的透明 View /窗口来包含整个动画。然后,您应该使用 CALayer 对象来执行实际的动画。

核心动画层本质上是 OpenGL 表面的高级轻量级包装器,层的渲染由 GPU 完成,提供比 CPU 管理的动画(例如 NSViewAnimation)更好的性能。

请记住,由于核心动画层是轻量级的,因此它们没有内置任何事件处理功能,因此您需要在 View / View Controller 中执行所有鼠标跟踪。

您的另一个选择是使用图层支持的 View (它们有自己的CALayer)并使用动画代理代理对按钮的位置进行动画处理。这可能足以实现您想要的效果,并且由于按钮仍然是完整的 NSButton 对象,因此它们仍然具有所有 NSView 事件处理功能。

您可能应该阅读Animation Overview让您更好地了解所有这些技术的工作原理。

关于objective-c - 实现粉丝 View - Cocoa,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9943150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com