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