2017-05-08 63 views
1

我有要求在一段時間後自動註銷用戶,我能夠做到這一點,並註銷應用程序導航到loginview但問題是,當我我在一個視圖中執行一些操作,比如從日期選擇器中選擇日期,或者如果應用程序註銷,則可以在此時打開其他彈出窗口,然後在登錄視圖中顯示彈出窗口或日期選擇器或警報視圖視圖。自動註銷用戶,當應用程序處於非活動狀態的固定時間

所以我的問題是如何從loginview中刪除它。這是我用來註銷我的應用程序的代碼。

@implementation MyApplication 

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

     [super sendEvent:event]; 

    // Only want to reset the timer on a Began touch or an Ended touch, to reduce the number of timer resets. 

    NSSet *allTouches = [event allTouches]; 

    if ([allTouches count] > 0) { 

     UITouchPhase phase = ((UITouch *)[allTouches anyObject]).phase; 
     if (phase == UITouchPhaseBegan || phase == UITouchPhaseEnded) 
       [self resetIdleTimer]; 
      NSLog(@"resetIdleTimer"); 
     [[NSUserDefaults standardUserDefaults]setValue:@"no" forKey:@"istouch"]; 
    } 

} 

    -(void)resetIdleTimer { 

    if (self.idleTimer) { 
     [self.idleTimer invalidate]; 
    } 
    NSTimeInterval timeInterval = [[[User currentUser]AutomaticLogoutTime] doubleValue]*60; 

    if (timeInterval > 0) { 
     [[NSUserDefaults standardUserDefaults]setValue:@"yes" forKey:@"istouch"]; 
      self.idleTimer = [NSTimer scheduledTimerWithTimeInterval:timeInterval target:self selector:@selector(idleTimerExceeded) userInfo:nil repeats:NO] ; 

    } 
} 

-(void)idleTimerExceeded { 

    [[NSNotificationCenter defaultCenter] postNotificationName:@"DataUpdated" 
                object:self]; 
} 
+0

,解除警報/彈出 –

+0

是的!我們可以做到這一點,但我們不知道它是流行/警報/日期選擇器或其他人。流行/警報/日期選擇器來自其他視圖。我們如何在我的登錄視圖控制器上獲得其他視圖子視圖的實例。 –

+0

關閉一切或有一個變量,持有什麼是打開和解僱相應... –

回答

1

您可以關閉已呈現

[self.presentedViewController dismissViewControllerAnimated:YES completion:nil]; 

這是一個好習慣解僱任何UIAlertController,ImagePicer的任何視圖 - 控制...所以之前您的應用程序將後臺用戶會下次他們將應用程序放到前臺時不會感到困惑。

lestin通知和viewWillDisapper解散你呈現控制器在正確的地方

+0

謝謝。它正在工作。 –

+0

歡迎您。快樂的編碼 –

相關問題