我有一個主菜單,導致你玩遊戲的視圖。從您玩遊戲的角度看,您可以點擊一個按鈕返回到主菜單,我正在使用unwindSegue。現在有辦法從主菜單中點擊相同的「玩遊戲」按鈕,替換視圖,並保持遊戲狀態與unwindSegue被調用之前的狀態相同,否則我將不得不將數據重新加載到新視圖中?如何更換使用unwindSegue後彈出的確切視圖?
0
A
回答
1
是的,你可以這樣做,但不能用segue,因爲它們總是實例化新的控制器(除了展開)。所以,你可以在主菜單中爲你的遊戲視圖控制器創建一個屬性,並且只有在它不存在的情況下才會實例化它,然後用pushViewController:animated:來推送它。這樣的事情,
-(IBAction)gotToGameView:(id)sender {
if (! self.game) {
self.game = [self.storyboard instantiateViewControllerWithIdentifier:@"Game"];
}
[self.navigationController pushViewController:game animated:YES];
}
0
您應該存儲重新創建視圖所需的數據。然後,當用戶再次進入同一屏幕時,您可以使用保存的數據重新創建視圖。
相關問題
- 1. 切換視圖/彈出窗口
- 2. 如何使用UIActionSheet切換視圖?
- 3. 如何使用UISegmentedControl切換視圖?
- 4. 如何使用UIKit Dynamics彈出視圖?
- 5. 正確執行UnwindSegue
- 6. 如何以編程方式切換使用視圖切換?
- 7. 遍歷視圖彈出視圖後確實加載
- 8. 使用UIAccelerometer切換視圖
- 9. 使用modalViewControllers切換視圖
- 10. 使用UINavigationController切換視圖
- 11. Knockout.js - 如何切換視圖
- 12. 如何切換視圖
- 13. 如何在視圖內切換視圖?
- 14. 如何使用彈出按鈕切換tableview(swift,cocoa)的內容?
- 15. Android:ActivityGroup - 如何「彈出」視圖
- 16. 如何在彈出視圖後將UIImage傳遞迴視圖
- 17. 隊列使用陣列>>彈出後切換元素
- 18. 如何用JavaScript正確切換圖像?
- 19. 如何在ajax文章後更改彈出框後面的視圖?
- 20. 如何用Three20彈出模態視圖?
- 21. Backbone.js切換彈出窗口
- 22. 切換視圖
- 23. 切換視圖
- 24. 切換視圖
- 25. 切換視圖
- 26. 如何在用戶驗證後切換視圖
- 27. 確定iCarousel已經切換視圖
- 28. 如何切換iOS上的視圖
- 29. 切換視圖後仍然在視圖中調用方法?
- 30. 如何從使用Cordova的MainViewController切換admob視圖
我遇到的問題是,遊戲有一個單一的球員以及基於回合的模式。因此,假設玩家正在玩單人遊戲,並且在遊戲中間離開了應用程序而沒有給我一個存儲遊戲數據的機會。然後他得到一個通知,告訴他他在網上回合制遊戲中的角色,所以當他打開遊戲時,單人遊戲視圖被替換掉,我失去了數據。所以我試圖決定是否以及如何保存數據,或者如果我應該使用故事板來彈出和關閉視圖以回到原始單人遊戲狀態的視圖。 –
爲什麼不創建一個兩個視圖控制器呢?一個會處理單人模式和一個視圖,另一個會處理基於回合的模式?我認爲問題在於你試圖在一個視圖控制器中處理這兩種情況。 – RaffAl
我確實有兩個視圖控制器,問題在於segue每次都創建一個新視圖,rdelmar的答案解決了這個問題。 –