我有一个PIN视图控制器,需要在每次触发- (void)applicationWillEnterForeground:(UIApplication *)application
时出现。我有多个视图控制器,当应用程序进入后台时,用户可以在其中任何一个。applicationWillEnterForeground呈现视图控制器
问题是我不知道如何在当前活动的任何视图控制器上显示PIN视图控制器。下面是我的实现方式:
- (void)applicationWillEnterForeground:(UIApplication *)application
{
ResourceSingleton *resource = [ResourceSingleton sharedSingleton];
if ([resource checkIfPINIsEnabled])
{
PinViewController *pinView = [[PinViewController alloc] initWithMode:kPINViewControllerModeEnter];
pinView.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self.window.rootViewController presentViewController:pinView animated:YES completion:NULL];
}
}
但是,只有当我处于第一个视图控制器(根目录)时,PIN视图才会出现。如何在任何视图控制器上弹出它?
我看过Using applicationwillenterforeground for a passcode screen但是必须有更好的方法或者我错了吗?这将适用于iOS 7,所以如果只有7具有这样的功能,那么我确信它也可以在6上完成。
我明白了,但我没有nib文件,视图是以编程方式创建的。现在做什么? – Majster
@Majster,只需在应用程序委托中以编程方式创建它即可。 – rdelmar
我确实得到了另一个想法,让我们首先讨论这个问题,如果它的坏病在程序委托中以编程方式进行。我如何将'self.viewController'设置为'UINavigationController'而不是我当前的''''并且使用我当前的视图控制器来初始化那个navController。然后会推动工作?希望你明白我的意思。 – Majster