我的问题与触摸事件有关,即应用程序中的全局
这是我的情景,
我有15个屏幕的应用程序,当第一个屏幕启动计时器启动时,用户随机从一个屏幕进入另一个屏幕,在这种情况下我需要重置计时器,如果计时器到达(比如120秒)我有销毁当前用户会话并从第一个屏幕开始注销。
startLogoutTimer
resetLogoutTimer
和stopLogoutTimer
的实现代码在AppDelegate类中,如果用户导航到任何屏幕并触摸屏幕,我需要执行startLogoutTimer,resetLogoutTimer和stopLogoutTimer基于操作,但没有从每个类(Screen / ViewController)调用AppDelegate消息。
谢谢。
答案 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)