动画:如何在加载视图时使UIbutton从右向左移动?

问题描述:

到目前为止,我还没有做过iphone开发的任何动画。动画:如何在加载视图时使UIbutton从右向左移动?

任何人可以帮助我如何从正确的做出的UIButton移动视图加载时剩下什么?

我想产生这样的效果:视图加载时,按钮会显示为从右端向左移动&停在原处。可能吗?

关于这部动画的东西任何帮助表示赞赏。如果有的话,请提供一些示例帮助。

在此先感谢。

只是为了使它更滑头,我会建议不改变UIView的框架,但它的中心;

CGPoint newLeftCenter = CGPointMake(20.0f + myButton.frame.size.width/2.0f, myButton.center.y); 
[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:1.0f]; 
myButton.center = newLeftCenter; 
[UIView commitAnimations]; 
+0

感谢您的回应。 – Rambo 2009-11-04 11:02:28

+1

+1不错..这正是我所寻找的。 – 2011-07-17 20:35:27

+0

直到你真棒! – 2017-01-12 07:02:31

在viewDidAppear

:(BOOL)动画的方法,您可以更改动画块内的按钮的框架。所以你会看到你想要的。检查有关UIView类参考中动画的文档。该simpliest动画块将是这样的(对不起,我没有MAC附近的权利,所以只是复制粘贴后的代码可能无法正常工作)

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:1.0f]; 
[myButton setFrame:newFrame]; 
[UIView commitAnimations]; 
+0

谢谢Morion我得到了答案。 – Rambo 2009-11-04 11:01:44

从上到下动画

CATransition *animation = [CATransition animation]; 
[animation setDuration:0.4]; 
[animation setType:kCATransitionPush]; 
[animation setSubtype:kCATransitionFromBottom]; 
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; 
[[TopButton layer] addAnimation:animation forKey:@"SwitchToDown"]; 

/*共用转移亚型。 */

kCATransitionFromRight

kCATransitionFromLeft

kCATransitionFromTop

kCATransitionFromBottom

夫特:

let transition1: CATransition = CATransition() 
    let timeFunc1 : CAMediaTimingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut) 
    transition1.duration = 1.0 
    transition1.timingFunction = timeFunc1 
    transition1.type = kCATransitionPush 
    transition1.subtype = kCATransitionFromRight 
    self.yourBtnORViewRef.layer.addAnimation(transition1, forKey: kCATransition) 

目标C

CATransition *animation = [CATransition animation]; 
[animation setDuration:1.0]; 
[animation setType:kCATransitionPush]; 
[animation setSubtype:kCATransitionFromRight]; 
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; 
[[self.yourBtnORViewRef layer] addAnimation:animation forKey:@"SwitchToRight"];