抱歉,这是一个重复的问题,但我已经尝试了所有我能找到的解决方案,但都没有成功。
无论如何,这是我的问题,特别是。我有以下代码,我在长按手势上启动计时器,然后在取消该手势或操作完成时停止它。
-(void)photoLongPress:(UILongPressGestureRecognizer *)press
{
NSTimer *timer = nil;
if (press.state == UIGestureRecognizerStateBegan)
{
//Start timer
timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(photoLongPressTimer:) userInfo:nil repeats:YES];
}
if (press.state == UIGestureRecognizerStateEnded)
{
[timer invalidate];
timer = nil;
}
}
-(void)photoLongPressTimer:(NSTimer *)timer
{
DAProgressOverlayView *progress = (DAProgressOverlayView *)[self.view viewWithTag:kTagPhotoDeleteProgressIndicator];
progress.progress += 0.08;
if (progress.progress == 1)
{
[self deletePhotoSelection];
[timer invalidate];
timer = nil;
}
}
计时器在photoLongPressTimer
方法中无效时停止,但如果手势在photoLongPress
方法中停止则不会。为什么会这样?我难住了。
谢谢。