我想让视图在调整窗口大小时移动到不同的位置。目前,我在接收NSWindowDidResizeNotification时使用NSViewAnimation执行此操作。
// 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上做到这一点?谢谢
发布于 2011-02-10 23:45:39
我刚刚做了一个[album.view动画制作setFrame:newFrame];然后它就移动到那里了。漂亮的。(我可以补充一下这是多么令人惊叹!)
https://stackoverflow.com/questions/4816518
复制相似问题