2

我有这样的代码:如何将模态视图添加到当前视图控制器?

-(void)applicationDidBecomeActive:(UIApplication *)application { 
JUnlockController *passcodeView = [[JUnlockController alloc] init]; 
[self.navigationController presentModalViewController:passcodeView animated:YES]; 
} 

的问题是,当我有我的应用程序打开一个模式视图控制器,它并没有在它的上面出现。我希望能够找出哪些是用户正在查看的当前视图控制器,因此我可以在其上显示它。

+0

从您的代码两者,据我所看到的,你提出了一个 “香草”,这意味着空视图控制器。你如何定义视图控制器中的视图?在init方法或loadView方法中?或者在界面生成器中? – 2012-07-16 13:56:19

+0

显示什么内容而不是要显示的视图? – 2012-07-16 13:56:50

回答

2

如果您的应用程序仅由导航控制器导航,你可以问它哪个的viewController可见:

[self.navigationController.visibleViewController presentModalViewController:passcodeView animated:YES]; 

要不然你可以有一切充分利用UIApplicationDidBecomeActiveNotification OV您的视图控制器扩展自定义类在viewWillAppear上登记,并在viewWillDissapear取消登记;并在您的自定义基类中实现显示您的模态的回调。

编辑请注意,这里假定您的应用程序委托(您设置了该选项)中有一个self.navigationController。您可能需要使用类似self.window.rootViewController的内容。

3

相反的:

[self.navigationController presentModalViewController:passcodeView animated:YES]; 

使用:

[self presentModalViewController:passcodeView animated:YES]; 
相关问题