【发布时间】:2014-04-20 11:27:29
【问题描述】:
我的main.storyboard 中有 1 个视图控制器,其中有一个 UIImageView,它链接到 滑动手势识别器。
我的目标是让用户向左滑动并且图像连续向左移动,然后如果用户向右/向上/向下滑动它将停止向左移动并朝新方向移动。 p>
到目前为止,我已经尝试过使用这种方法,但效果不佳:
-(void)screenWasSwipedDown
{
BackMovement = [NSTimer scheduledTimerWithTimeInterval:0.0035 target:self selector:@selector(BackMovingDown) userInfo:nil repeats:YES];
}
-(void)BackMovingDown
{
Back.center = CGPointMake(Back.center.x, Back.center.y+1);
}
我已经为每个方向都这样做了,它确实有效,但是当用户滑动新方向时,它并没有停止移动(在这种情况下是向下),只是将计时器堆叠在一起。所以向左滑动两次可以让它走得更快,或者向左和向上让它变成对角线。
如果有人知道怎么做,请帮帮我
【问题讨论】:
-
您需要停止
NSTimer(请参阅invalidate等)请以小写开头命名您的方法和变量。 -
@Larme 谢谢我会尝试,停止 NSTimer 的最佳方法是什么?我在猜测 if 语句,但这会采取什么形式?
标签: ios objective-c uigesturerecognizer