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]; 
相關問題