我一直在为 iOS 制作应用程序,最近开始为 Mac OS X 制作应用程序。我正在尝试在 NSView 上制作一些动画。
我想做的是弹跳 NSView 的比例,使其缩小到 70%,然后弹回 100%。现在我可以做缩放/调整大小部分,但我现在不能做动画部分。
对于 iOS,我会在 UIView 上使用以下内容:
+ (void)animateWithDuration:(NSTimeInterval)duration
animations:(void (^)(void))animations
completion:(void (^)(BOOL finished))completion
使用它意味着当上一个动画完成时我可以开始新的动画。我一直在为 Mac OS X 寻找类似的功能。我发现了以下内容:
[NSAnimationContext beginGrouping];
[[NSAnimationContext currentContext] setDuration:2.0];
// Set end state of objects to animate
[NSAnimationContext endGrouping];
这类似于我在 iOS 4 之前为对象设置动画的方式。但是后来引入了动画 block (如在顶部显示),从那时起我就一直在使用它们。所以我的问题是,是否有我错过的 Mac OS X 动画 block ?或者有其他方法吗?
最佳答案
如果您使用的是 Mac OS X 10.7,您可能会发现使用基于 block 的 NSAnimationContext API 更自然:
+ (void)runAnimationGroup:(void (^)(NSAnimationContext *context))changes
completionHandler:(void (^)(void))completionHandler
关于macos - NSView 的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11275309/