ios中的全球触摸事件

时间:2015-01-23 10:49:37

标签: ios objective-c touch-event

我的问题与触摸事件有关,即应用程序中的全局

这是我的情景,

我有15个屏幕的应用程序,当第一个屏幕启动计时器启动时,用户随机从一个屏幕进入另一个屏幕,在这种情况下我需要重置计时器,如果计时器到达(比如120秒)我有销毁当前用户会话并从第一个屏幕开始注销。

startLogoutTimer resetLogoutTimerstopLogoutTimer的实现代码在AppDelegate类中,如果用户导航到任何屏幕并触摸屏幕,我需要执行startLogoutTimer,resetLogoutTimer和stopLogoutTimer基于操作,但没有从每个类(Screen / ViewController)调用AppDelegate消息。

谢谢。

3 个答案:

答案 0 :(得分:3)

我的上述问题已解决。 我将以下代码添加到AppDelegate类

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resetLogoutTimer) name:UITouchPhaseBegan object:nil];

现在我在屏幕上触摸,我的计时器重新启动。

答案 1 :(得分:0)

为UIView创建类别并处理其中的触摸。

@implementation UIView (Touch)

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    [super touchesEnded:touches withEvent:event];
    [((Appdelegate*)[UIApplication sharedApplication].delegate) resetLogoutTimer];

}

或者你也可以用调色法来做同样的事情

答案 2 :(得分:0)