2013-03-04 69 views
1

我已经实现了KKLockscreen视图控制器,并且在应用内设置控制器内运行良好。能够设置密码并更改它们。无法从AppDelegate调用锁定屏幕视图控制器

我有问题叫他从appdelegate锁定屏幕视图。我添加了委托.h文件,并将该视图控制器导入到.m文件中。仍然没有调用锁屏。任何帮助?

下面是我的代码。

- (void)applicationDidBecomeActive:(UIApplication *)application 
{ 
    if ([[KKPasscodeLock sharedLock] isPasscodeRequired]) { 
     KKPasscodeViewController *vc = [[KKPasscodeViewController alloc] initWithNibName:nil bundle:nil]; 
     vc.mode = KKPasscodeModeEnter; 
     vc.delegate = self; 

     dispatch_async(dispatch_get_main_queue(),^ { 
      UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc]; 

      if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
       nav.modalPresentationStyle = UIModalPresentationFormSheet; 
       nav.navigationBar.barStyle = UIBarStyleBlack; 
       nav.navigationBar.opaque = NO; 
      } else { 
       nav.navigationBar.tintColor = _navigationController.navigationBar.tintColor; 
       nav.navigationBar.translucent = _navigationController.navigationBar.translucent; 
       nav.navigationBar.opaque = _navigationController.navigationBar.opaque; 
       nav.navigationBar.barStyle = _navigationController.navigationBar.barStyle; 
      } 

      [_navigationController presentModalViewController:nav animated:NO]; 
     }); 

    } 
} 

回答

0

我有我的代码检查,它是工作,亚,但你有没有在这条线在这里给笔尖的名字,我给可能是它为什么不显示你的看法。 KKPasscodeViewController * VC = [[KKPasscodeViewController的alloc] initWithNibName:无束:无]

-(void)applicationDidBecomeActive:(UIApplication *)application { 
RootViewController *vc = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil]; 

dispatch_async(dispatch_get_main_queue(),^ { 
    UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc]; 

    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
     nav.modalPresentationStyle = UIModalPresentationFormSheet; 
     nav.navigationBar.barStyle = UIBarStyleBlack; 
     nav.navigationBar.opaque = NO; 
    } else { 
     nav.navigationBar.tintColor = navigationController.navigationBar.tintColor; 
     nav.navigationBar.translucent = navigationController.navigationBar.translucent; 
     nav.navigationBar.opaque = navigationController.navigationBar.opaque; 
     nav.navigationBar.barStyle = navigationController.navigationBar.barStyle; 
    } 

    [navigationController presentModalViewController:nav animated:NO]; 
}); 

}

+0

应该怎么如下使用? KKPasscodeViewController * vc = [[KKPasscodeViewController alloc] initWithNibName:@“KKPasscodeViewController”bundle:nil]; 但它不起作用。抱歉。我不清楚使用哪个笔尖名称。 – Kalaichelvan 2013-03-04 07:06:11

+0

我有两个问题1>你的视图控制器不显示在iPad版本或iPhone版本? 2> if([[KKPasscodeLock sharedLock] isPasscodeRequired])返回true?和控制进入代码或没有? – 2013-03-04 07:28:07

+0

1.在iPhone和iPad版本中都不显示。 2.原来的KKLockscreen带有一个演示应用程序,它的运行良好。我相信当[[[KKPasscodeLock sharedLock] isPasscodeRequired])返回true时,控制权应该进入代码。 我实际上将演示应用程序中的代码合并到我的应用程序中。设置面板效果很好。只是它没有被appdelegate调用。我正在使用故事板。但是KKPasscodeViewController是由代码组成的。没有在故事板中实现。这可能是问题吗? – Kalaichelvan 2013-03-04 07:45:45