2011-12-19 39 views
0

因此,我有一个应用程序,它可以从摄像机获取图像,并在图像上进行一些处理之后将信息显示在屏幕上。我添加了暂停按钮,用户可以在屏幕上“冻结”最新的结果。Xcode Add Delay So Button按钮可以注册

暂停工作,但它后面一个周期。在记录按钮按下时,下一个图像已经被处理,因此锁定在屏幕上的结果实际上来自后续图像。我已经尝试添加一个延迟,以允许用户按下暂停使用的时间:

[self performSelector:@selector(waitForPause) withObject:nil afterDelay:2]; 

但这并不像我期待的那样。关于如何正确处理这种暂停的任何想法?

编辑:我注意到AppDelegate文件有一些功能似乎处理这种事情。也就是说,applicationWillResignActive可以用来暂停基于苹果文档的游戏。有没有人使用过这个目的?该方法目前是空的。我需要添加什么方法让它暂时暂停基于按钮按下的应用程序?

更新:这是我目前如何实现和处理暂停按钮按下。

//Pause Button 
self.pauseButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[pauseButton addTarget:self 
       action:@selector(pauseButtonPress:) 
     forControlEvents:UIControlEventTouchDown]; 
[pauseButton setTitle:@"Pause" forState:UIControlStateNormal]; 
pauseButton.frame = CGRectMake(80.0, 100.0, 160.0, 40.0); 
[self.view addSubview:pauseButton]; 

- (void) pauseButtonPress:(id) sender { 

    [pauseButton setHidden: YES]; 
    [playButton setHidden: NO]; 
    continueRunningScript = NO; 
    NSLog(@"paused"); 
    NSLog(@"Current Result: %@", result_string); 

} 

谢谢。

+0

我昨天看到你的问题。你有没有试过在touchesBegan:上设置你的暂停事件,而不是在touchesEnded:这样一旦用户的手指碰到了按钮,暂停就会被触发?这可能是你需要的一切。 – 2011-12-20 19:24:34

+0

我将如何设置,@Tim Kemp?我编辑了我的原始帖子,以显示我当前的实现和处理暂停按钮。 – 2012-01-05 19:44:12

回答

0

您不需要执行延迟。试试这个:

每次你在屏幕上渲染一个新图像时,将旧图像保存在previousImage变量中。当用户点击暂停按钮时,只需将previousImage的内容替换为当前屏幕上的内容即可。