如果userinteraction为nil 3秒,则调用一个函数

时间:2012-04-13 05:31:32

标签: iphone ios ios4 ios5

伙计我需要在这样的视图中调用一个函数,如果三秒内没有用户交互,则应该调用该函数 我该怎么办?

任何人都可以提供有助于此的逻辑或链接吗? 感谢

2 个答案:

答案 0 :(得分:3)

我的建议是在该视图上覆盖 - (void)touchesBegan:withEvent:。

当您收到触摸事件时,请设置计时器,并将其时间设为3秒。如果您接触到并且有计时器,请将其触发日期更改为触摸时间后3秒。当计时器触发时,调用该函数,并将计时器设置为nil。

您可以使用移动,移除和取消方法,使您的计时器在正确的时间正确地进行所需的活动。

答案 1 :(得分:-1)

使用NSTimer: -

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{ 
 UITouch *touch = [[event allTouches] anyObject];
 CGPoint location = [touch locationInView:self.view];
 if ([touch view] == self.view) 
  {
    NSTimer *updateTimer = [NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(updateTime) userInfo:nil repeats:YES];
  }
}

-(void)updateTime
{
NSLog(@"....Update Function Called....");
[self functionName];
}

使用它来调用function.Check it希望它有所帮助。谢谢:)