簡體   English   中英

我希望我的故事板的初始視圖控制器是當前的控制器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM