2014-05-08 238 views
1

在我的應用程序中,我需要撥打電話,所以顯然我的應用程序在使用本機通話功能撥打電話時轉到後臺。如果通話時間長了,我的應用程序就會被IOS自己殺死。現在我需要在撥打電話時恢復最後一個視圖。我已經使用本地恢復。 我所做的是狀態保存和恢復問題

1.設置所有視圖和視圖控制器的恢復ID。

2.覆蓋應用程序委託還原方法。

我的問題是, 如果我的應用程序轉到後臺並回到前臺,則使用保存顯示上次視圖,並突然移動到主視圖(默認啓動視圖)。就像最後一個視圖在閃現時一樣閃爍。

這裏是我的設置:

應用程序的委託代碼:

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    return YES; 
} 
-(BOOL)application:(UIApplication *)application shouldRestoreApplicationState:(NSCoder *)coder 
{ 
    return YES; 
} 
-(BOOL)application:(UIApplication *)application shouldSaveApplicationState:(NSCoder *)coder 
{ 
    return YES; 
} 
-(BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    return YES; 
} 

主視圖設置:

enter image description here

主要故事板包含登錄查看根。請指導我解決修​​復問題。

+0

可能是因爲您的應用程序正在接收內存警告,並且其內存已被清除。我已經注意到了iOS 7中的這種行爲。 – Adithya

+0

我在模擬器本身面臨着同樣的修復問題。 – Ganapathy

+0

檢查此鏈接[State Preservation and Restoration](http://useyourloaf.com/blog/2013/05/21/state-preservation-and-restoration.html)。這將幫助你。 – Pawan

回答

0

我設法擺脫閃爍的通過使窗口鍵和application:willFinishLaunchingWithOptions:中可見。

- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    [self.window makeKeyAndVisible]; 
    return YES; 
}