我正在创建一个带暂停按钮的简单游戏。我希望在我返回时显示具有暂停屏幕的另一个视图控制器而不重置游戏视图控制器。我尝试的每件事都导致游戏视图控制器被重置,当我按下继续按钮并返回游戏时。 有没有人知道如何在不重置游戏的情况下做到这一点? 这是一个sprite工具包和xcode中的swift iOS应用程序。
答案 0 :(得分:2)
您可以显示基于弹出窗口的视图。您可以根据需要创建.xib并设计暂停视图。然后你可以在不重置任何东西的情况下恢复游戏。
示例代码:
// Set Pause Page
var pauseView = PauseView.loadFromNib() // need an extension
@IBAction func Pause(sender: UIButton) {
pauseView.btnResume.addTarget(self, action: #selector(resume(_:)), forControlEvents: .TouchUpInside)
// set place on view
view.addSubview(pauseView)
}
func resume(sender:UIButton) {
pauseView.removeFromSuperview()
}
我为你创建了一个演示:
在Github上提供完整演示: Get Source Code
答案 1 :(得分:0)
在原始视图控制器中创建变量:
var shouldReset = true
然后,当您执行segue时,请在prepareForSegue
:
let vc = destination as! //Your view controller
vc.shouldReset = false
在viewDidLoad
(或重置数据的任何地方):
if shouldReset == true {
//Reset
}