1

我已经实现了KKLockscreen视图控制器,并且在应用内设置控制器中运行良好。能够设置密码并更改它们。

我在从 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];
        });

    }
}
4

1 回答 1

0

我已经用我的代码检查了它,它正在工作,是的,但是你没有在这一行中给出笔尖名称,我给出的可能是它没有显示你的视图的原因。KKPasscodeViewController *vc = [[KKPasscodeViewController alloc] initWithNibName:nil bundle:nil]

-(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];
});

}

于 2013-03-04T06:02:35.297 回答