[英]Getting Initial View Controller from Storyboard inside the App Delegate
[英]I expect the initial view controller of my storyboard to be the current controller
如果應用程序以前在后台,當調用applicationDidBecomeActive
時,我希望我的故事板的初始視圖控制器是當前控制器。
我用了:
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[self.window makeKeyAndVisible];
}
當我重新啟動應用程序時,仍會調用loginAciton
rootViewController
,但無法顯示下一個控制器。 沒有任何錯誤發生。
- (IBAction)loginAciton:(id)sender
{
id controller = [self.storyboard instantiateViewControllerWithIdentifier:@"Navigation"];
[self presentModalViewController:controller animated:YES];
}
為什么?
PS。 我的rootViewController不是UINavigationController。
謝謝你的回復。
更好的方法是將UIApplicationExitsOnSuspend
添加到Info.plist
並將其設置為YES
。
我知道了 !
如果你想讓故事板的初始視圖控制器每次都成為當前的控制器,你可以嘗試一下:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
exit(EXIT_SUCCESS);
}
您也可以使用通知,將此代碼放在applicationDidBecomeActive中:
[[NSNotificationCenter defaultCenter] postNotificationName:@"appActivated" object:nil];
並在當前視圖中添加觀察者...
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(updateView:)
name:@"appActivated"
object:nil];
並且不要忘記刪除dealloc中的觀察者:當前視圖...
[[NSNotificationCenter defaultCenter] removeObserver:self];
這可能會對你有所幫助..
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.