首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法让NSAnimation像在iPhone上一样“从当前状态开始”?

有没有办法让NSAnimation像在iPhone上一样“从当前状态开始”?
EN

Stack Overflow用户
提问于 2011-01-27 20:51:48
回答 1查看 1.2K关注 0票数 2

我想让视图在调整窗口大小时移动到不同的位置。目前,我在接收NSWindowDidResizeNotification时使用NSViewAnimation执行此操作。

代码语言:javascript
复制
// Create the view animation object.
theAnim = [[NSViewAnimation alloc] initWithViewAnimations:animation];
// Set some additional attributes for the animation.
[theAnim setDuration:1];    // One and a half seconds.
[theAnim setAnimationCurve:NSAnimationEaseIn];
[theAnim setFrameRate:20.0];
[theAnim setAnimationBlockingMode:NSAnimationNonblocking];
// Run the animation.
[theAnim startAnimation];
// The animation has finished, so go ahead and release it.
[theAnim release]; 

(“动画”是一个带有字典的数组,其中包含视图的新矩形,正如NSAnimation所希望的那样)当我调整窗口大小时,此代码被多次调用。因此,在调整大小时,这段代码会被调用大约20次。我现在有20个动画的视图移动。20个不同的重叠。(它看起来像许多不同的视图,但我认为它是在动画之间跳跃的同一个视图)

在iPhone上,只有视图在移动,我可以设置UIView setAnimationBeginsFromCurrentState:是的,它可以工作。有没有办法在OSX上做到这一点?我可以在视图上创建一个isAnimating变量,但它只会移动到一个位置,并且在动画时会忽略快速调整大小。

我如何在OSX上做到这一点?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-10 23:45:39

我刚刚做了一个[album.view动画制作setFrame:newFrame];然后它就移动到那里了。漂亮的。(我可以补充一下这是多么令人惊叹!)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4816518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档