如何在特定持续时间后获得主屏幕ios

时间:2014-01-02 09:22:31

标签: ios session timestamp

我想实现像Windows会话过期这样的超时功能。 我的情况是如果我在30分钟内没有触摸screes我需要重定向登录屏幕,其他明智的正常需要工作。

  [[NSNotificationCenter defaultCenter]addObserver:self  
           selector:@selector(applicationDidTimeout:)name:10 object:nil];

然后实现方法,

 -(void)applicationDidTimeout:(NSNotification*)notif
 {
      NSLog(@"10 mints looping");

     //calling login screen.

 }

但如果我在视图中工作也会到期。如何避免这种情况。请任何人建议我实现这一点。

抱歉英语和文字形成不佳。

1 个答案:

答案 0 :(得分:1)

试试这个。

  

实现UIApplication的子类来监视所有的触摸   应用

并在该类中实现以下代码

- (void)sendEvent:(UIEvent *)event {

   if (event) {

       [super sendEvent:event];
       NSSet *allTouches = [event allTouches];
       if ([allTouches count] > 0) {

           UITouchPhase phase = ((UITouch *)[allTouches anyObject]).phase;
           if (phase == UITouchPhaseBegan){

               [self resetIdleTimer];
           }
       }
   }
}

更多详情:

- (void)sendEvent:(UIEvent *)event

  • 参数

      

    event:封装有关事件信息的UIEvent对象,包括涉及的触摸。

  • 讨论

      

    子类可以覆盖此方法以进行拦截   传入的事件。任何截获的事件都应该由   在检查截获的事件后调用[super sendEvent:event]。

- (void)resetIdleTimer是您可以安排计时器的方法。

继续......:)