如何制作移动按钮?

时间:2011-12-10 06:22:06

标签: objective-c ios core-animation

我想先制作一个位于视图外部的按钮,但是当我将手机倒置时,它会进入可视屏幕。我该如何编码呢?提前谢谢!

1 个答案:

答案 0 :(得分:1)

您希望通过使用UIView方法调用来使用Core动画。

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,则最后不需要这样做。