2014-02-20 1 views
0

У меня есть приложение, которое содержит некоторую конфиденциальную информацию, но я не хочу, чтобы другие отображали экран перед тем, как приложение вводит фон, поэтому я хочу представить на панели управления блокировку вида viewController после нажатия кнопки пользователя. Я пробовал этот кодКак я могу представить viewController из rootViewController окна приложения, когда пользователь нажимает кнопку «домой», но перед тем, как приложение вводит фон?

- (void)applicationWillResignActive:(UIApplication *)application 
    { 
    PatternLockViewController *pvc = [[SMICConfig sharedSMICConfig] patternLockVC]; 
    if (!(pvc.isViewLoaded && pvc.view.window) && [SMICConfig sharedSMICConfig].isCookie) { 
    [self.window.rootViewController presentViewController:pvc animated:NO completion:nil]; 
    } 
} 

Но PatternLockViewController присутствует только после того, как приложение входит на передний план. Итак, когда приложение останется в фоновом режиме, вы можете дважды щелкнуть кнопку «Домой», чтобы просмотреть какую-то информацию.

Tecent блокировка рисунка qq очень хорошо. Я просто хочу реализовать этот эффект.

Может ли кто-нибудь мне помочь? Благодаря

ответ

0

Вы можете сказать iOS7, чтобы избежать использования недавнего снимка изображения во время следующего запуска цикла, вызвав ignoreSnapshotOnNextApplicationLaunchApple's documentation

Ниже показано, как я реализовал для моего приложения. Надеюсь, поможет.

- (void)applicationWillResignActive:(UIApplication *)application { 
    [application ignoreSnapshotOnNextApplicationLaunch]; 
    self.imageView = [[UIImageView alloc]initWithFrame:[self.window frame]]; 
    [self.imageView setImage:[UIImage imageNamed:@"Default-568h"]]; 
    [self.window addSubview: self.imageView]; 
} 

- (void)applicationDidBecomeActive:(UIApplication *)application { 
    if (self.imageView != nil) { 
     [self.imageView removeFromSuperview]; 
     self.imageView = nil; 
    } 
} 
+0

'' 'ignoreSnapshotOnNextApplicationLaunch''' доступны только в iOS7, а затем, если моя цель ИОС 6 или выше, есть способ справиться с этой проблемой? – pingguoilove

+0

У iOS6 нет многозадачности:], и я думаю, что это [лучший вопрос и ответ] (http://stackoverflow.com/a/18961652/2544997), спасибо за ваше решение – pingguoilove

+0

Мой код отлично работает с моим физическим устройство> _ < – pingguoilove

Смежные вопросы