首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可可触觉动画?

可可触觉动画?
EN

Stack Overflow用户
提问于 2010-09-11 10:40:44
回答 2查看 1.2K关注 0票数 2

我过去一直用UIViewAnimation制作简单的动画,现在我可以看到苹果在+4.0中不鼓励使用这个类。我开始调查CATransitions和-animation。它提供了一些更细粒度的控制,但对于我有限的使用来说,它看起来确实有些臃肿。当我试图掌握平台上的可能性时,我遇到了一个兔子洞,里面有大量的核心动画、石英和打开的GLS,但动画上没有简单的东西,让我开始吧。

我需要在职位、alpha、比例尺和旋转之间“切换”,有时会同时出现在几个UIViews上,并为animationDidStart和didStop设置一个委托挂钩。有什么好的吐温引擎吗?处理过闪存和Java,这真的是我怀念的事情之一。

如果我使用CATransitions,我似乎只限于一次动画一个属性,即alpha,如果我必须同时移动和旋转UIView,我将不得不为每个属性设置单独的动画。如果我要使用CATransition,是否有一种方法可以同时生成一个动画对象来动画多个属性?

如果有人能让我开始的时候,动画的复杂性与所需代码的数量成正比,我将非常感激:)预先感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-14 21:39:46

你想得太多了。

虽然苹果确实不鼓励iOS 4中的入门动画:上下文:方法,但它们提供了一种比以前更容易实现的新方法。它仍然是UIView类的一部分,它只使用了update提供的一个很好的新特性:块。

事实上,苹果甚至鼓励使用基于块的动画。摘自UIView类引用:

“在iOS 4.0及更高版本中,不鼓励使用此方法。您应该使用基于块的动画方法。”

基于块的动画非常容易使用。它们的形式如下:

代码语言:javascript
复制
[UIView animateWithDuration:5
   animations:^{
       self.yourView.frame = CGRectMake(100, 100, 100, 200);
       self.yourView.alpha = 0.3;
   }
   completion:^(BOOL finished){
       self.yourView.alpha = 1.0;
       [self.yourProperty doSomethingReallyCool];
   }
];

看起来很眼熟?它非常类似于最初的动画:上下文:方法。小^{}节是块。块保持状态,因此它们在这类事情上工作得很好。有关块的更多信息,请查看

Introduction.html

确保查看位于UIView的这里类引用。有许多新的基于块的动画方法。

此外,值得注意的是,块仅为iOS 4。因此,提供了SDK 3或更低版本设备的备份代码.或者,继续使用初学者动画:上下文:就目前而言,请注意,它的日子已经屈指可数了。

票数 5
EN

Stack Overflow用户

发布于 2010-09-14 11:46:56

可以设置应该在[UIView beginAnimations:nil context:nil];方法中动画化的属性,如下所示:

代码语言:javascript
复制
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0f];

view.alpha = 0.0f;
view.center = CGPointMake(34.0f,23.0f);
...

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

https://stackoverflow.com/questions/3690654

复制
相关文章

相似问题

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