首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSAnimation循环

NSAnimation循环
EN

Stack Overflow用户
提问于 2011-09-06 21:05:47
回答 2查看 1.3K关注 0票数 0

我有一个视图,当用户在上面拖动文件时,它会启动一个动画。动画显示文件的相对图标(在NSAnimation自定义类的NSImageView Ivar中)在淡入淡出时变大。

如果我在标准循环中循环动画,如下所示:

代码语言:javascript
复制
CustomAnimation *animation = [[CustomAnimation alloc] initWithDuration: 2.0 animationCurve: NSAnimationLinear]

NSimage *icon;

for (NSString *filename in filenames) {
    icon = [[NSWorkspace sharedWorkspace] iconForFile: filename];
    NSImageView *myImageView = [[NSImageView alloc] initWithFrame: theFrame];
    [myImageView setImage: icon];
    [animation setImageView: myImageView];
    [animation startAnimation];
}

循环太快了,而且动画看起来就像它几乎是一起发射的(显然)。

您认为控制动画开始和后续动画之间的延迟的最好方法是将动画循环多次?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-07 04:38:11

你的动画之所以失败(也许最后一个除外),是因为在每次迭代中,你都会用一个新的动画“覆盖”以前的动画。

如果这个想法是让每个动画都有完整的2秒,那么这篇关于chaining core animations的帖子应该可以做到这一点。您可以通过事件在动画之间添加间隙。

-编辑--

@Richard这是我的错误,我误解了问题。

看一看NSAnimation的文档就会发现你可以使用startWhenAnimation:reachesProgress:来链接你的动画。

票数 0
EN

Stack Overflow用户

发布于 2011-09-06 21:17:30

您可以使用NSTimer来实现此目的。

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

https://stackoverflow.com/questions/7320374

复制
相关文章

相似问题

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