2012-06-28 37 views
0

我想在自己的文档查看器中实现嵌套评论(如贴纸)。 起初,它应该是UITextView,但是当执行resignFirstResponder时,它应该变成一个小按钮。 主要问题是:如何动画? 我已经阅读了Apple的Quartz 2d编程指南,但它没有给我任何想法。 我没有要求准确或现成的解决方案:关键字,文章或文档链接就足够了。 感谢您的回应。如何用自定义动画替换另一个UI元素?

+0

交叉淡入是一个选项。 – Till

+0

事情是,我想尝试用手做出这样的动画。 – folex

+0

交叉衰落的错误是什么?动画控制(UIView)的alpha值的变化? – Till

回答

1

,如果你想在一个按钮,淡入和淡出的文本框,您可以使用此方法

[UIView animateWithDuration: delay: options: animations: completion:]; 

因此,这将是

//Starting properties 
myButton.alpha = 0; 
myTextField.alpha = 1; 

//Do the animation 
[UIView animateWithDuration:0.3 delay:0 options:UIViewAnimationCurveEaseInOut animations:^{ 
    myButton.alpha = 1; 
    myTextField.alpha = 0; 
} completion:^(BOOL finished) { 
    if (finished) { 
     NSLog(@"finished animating"); 
    } 
}]; 

这将2个对象的不透明度改变从0 - 1/1 - 0超过300毫秒

您可以使用这种方式制作大小,位置,不透明度等多种属性的动画效果。

+0

谢谢,但我知道如何做这样一个简单的动画。我不知道如何创建自定义的。 – folex

+0

@folex请用更多的词语来描述你所谓的自定义动画。 – Till

+0

我的意思是手工制作的动画。例如。当你指定每个转换或类似的东西。我无法更正式地描述它,因为如果我可以的话,我只会谷歌它:) 也许有没有办法做到这一点?无论如何,我会在阅读Core Animation编程指南后尝试解决它。 – folex

0

您可以按照Apple在QuickLook中两个不同元素之间淡出的方式执行此操作。您可以通过按转变 + 空间自己在慢动作中看到效果,同时在Finder中选择了一个项目。

动画基本上是一个交叉淡入淡出的同时,帧的变化。您应该可以将按钮和文本视图同时渲染为图像,并使用两个图像视图(仅在动画期间存在)执行动画,以便在帧变化时随着纵横比的变化拉伸图像。

你需要核心动画才能将视图渲染成图像,但其余的图像只是帧和alpha /不透明动画,所以你应该可以用UIView动画做它们(如果核心动画对你来说似乎很复杂) 。尽管核心动画在调整动画时会给你更细致的控制。

相关问题