我正在制作类似于 ruzzle 的东西,为了在字母(按钮)之间滑动,我正在使用触摸事件(touchBegan
、、、touchMove
)touchEnded
。
该应用程序由二合一view controllers
组成storyboard
。storyboard
第一个用于主菜单,第二个用于游戏内屏幕,我使用id在它们之间切换。一切正常,直到您从 inGame 视图切换到 MainMenu 视图。
问题是当您从 inGame 屏幕返回主菜单时,触摸事件仍处于活动状态,这是一个问题,因为当您触摸屏幕上的任何位置时,应用程序会崩溃。发生这种情况是因为出于某种原因从 MainMenu 视图调用了 inGame 视图中的方法。有没有办法只限制inGameView的触摸事件?
PS。在我的情况下,该setUserInteraction:(BOOL)
方法不是一个选项,因为您不能再按主菜单中的按钮。
从 MainMenu 移动到 inGame
GamePlayView *gpv = [self.storyboard instantiateViewControllerWithIdentifier:@"GamePlayView"];
[self presentViewController:gpv animated:YES completion:nil];
并从 inGame 到 MainMenu 与
ViewController *svc = [storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
[self presentViewController:svc animated:YES completion:nil];