Objective c 如何制作移动按钮?

Objective c 如何制作移动按钮?,objective-c,ios,core-animation,Objective C,Ios,Core Animation,我想做一个按钮,一开始是在视图之外,但当我把手机倒置时,它会下降到可视屏幕上。我如何编写代码?提前谢谢 您希望通过使用UIView方法调用来使用核心动画 animateWithDuration:delay:options:animations:completion: 如果需要默认动画样式,可以使用参数较少的动画样式。 但基本上你在方法中指定时间,在块中你只需将你按钮的位置设置到你想要的位置,核心动画就会处理细节 代码可能如下所示: -(IBAction)moveIt:(id)sender

我想做一个按钮,一开始是在视图之外,但当我把手机倒置时,它会下降到可视屏幕上。我如何编写代码?提前谢谢

您希望通过使用UIView方法调用来使用核心动画

animateWithDuration:delay:options:animations:completion:   
如果需要默认动画样式,可以使用参数较少的动画样式。 但基本上你在方法中指定时间,在块中你只需将你按钮的位置设置到你想要的位置,核心动画就会处理细节

代码可能如下所示:

-(IBAction)moveIt:(id)sender {
__block CGPoint originalPoint = self.aButton.center;
[UIView animateWithDuration:2
                      delay:0
                    options:UIViewAnimationCurveEaseInOut | UIViewAnimationOptionAutoreverse
                 animations:^{
                     self.aButton.center = CGPointMake(200, 200);
                 } 
                 completion:^(BOOL finished) {
                     self.aButton.center = originalPoint;
                 }];
}
它有什么作用?此代码将UIButton从其原始位置移动到任意点并返回到其原始点(UIViewAnimationOptionAutoreverse选项)。

请注意,由于自动反转,您必须在末尾将UIButton设置回它的
originalPoint
,如果您不在末尾执行
autoreverse
,则不需要执行该操作。

可能会帮到您……因为您只读取
originalPoint
的值,而不在块内更改它,您不需要将其声明为
\u块
变量。