Ios SKView在暂停后未恢复
我正在开发一个应用程序,其中我使用SKView作为视图控制器的视图 当用户点击屏幕上的任何按钮并按下新的UIViewController时,我暂停了视图: 暂停查看代码Ios SKView在暂停后未恢复,ios,sprite-kit,skspritenode,skscene,skview,Ios,Sprite Kit,Skspritenode,Skscene,Skview,我正在开发一个应用程序,其中我使用SKView作为视图控制器的视图 当用户点击屏幕上的任何按钮并按下新的UIViewController时,我暂停了视图: 暂停查看代码 self.emitterView.paused=true func settingButtonPressed(sender: UIButton) { self.emitterView.paused = true; let viewCtrl = EDUIUtility.loadViewControllerFromS
self.emitterView.paused=true代码>
func settingButtonPressed(sender: UIButton) {
self.emitterView.paused = true;
let viewCtrl = EDUIUtility.loadViewControllerFromStoryboard(EDConstant.StoryboardFileName, viewCtrlStoryboardId: EDConstant.SettingViewCtrlID)
self.pushViewController(viewCtrl)
}
在视图将出现时,我只需通过以下代码恢复视图:
恢复查看代码
self.emitterView.paused=false代码>
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.emitterView.paused = false;
}
但它不工作视图仍然暂停,直到我点击屏幕。
我还检查了发射器视图和工作显示的场景更新方法
注意:相同的代码在应用程序后台和前台都可以正常工作。
视图控制器推送和弹出
func pushViewController(viewController:UIViewController){
UIView.transitionWithView(self.navigationController!.view, duration: 0.50,
options: UIViewAnimationOptions.TransitionFlipFromRight, animations: {
self.navigationController!.pushViewController(viewController, animated: false)
}, completion: nil)
}
func popViewController(){
UIView.transitionWithView(self.navigationController!.view, duration: 0.50,
options: UIViewAnimationOptions.TransitionFlipFromLeft, animations: {
self.navigationController!.popViewControllerAnimated(false)
}, completion: nil)
}
根据我的猜测,self.emitterView可能与您暂停到恢复时的对象不同,您是否可以发布更多代码并澄清一下发生了什么?如果我以不同的方式解释,可能会发生的另一件事是,您暂停游戏,会弹出一个新的视图控制器,您关闭新的视图控制器,并期望游戏在此时解除暂停。如果是这种情况,您如何呈现新的视图控制器,以及如何返回?VIEWWILLISPEND在某些情况下可能不会被调用。@Knight0fDragon感谢您的回复。1) Self.emitterView是IBOutlet。2) 我检查了视图是否显示为调用。这只是导航控制器的按下和弹出。这与您的问题无关,只是它是与视图关联的变量,如果调用了它,那么我们需要进一步研究,粘贴整个函数。暂停正在使用中。@Knight0fDragon抱歉,我没有得到它。若你们要求的是发射器视图,那个么它是一个IBOutlet,发射器视图的类是故事板中的SKView。