0

私はラズルに似たものを作っています。文字(ボタン)の間をスライドさせるために、タッチイベント(touchBegantouchMovetouchEnded)を使用しています。

アプリケーションは 2 つview controllersの 1 つから構成されstoryboardます。storyboard1 つ目はメイン メニュー用で、2 つ目はゲーム内画面用で、 idを使用してそれらを切り替えます。inGame ビューから MainMenu ビューに切り替えるまでは、すべて問題なく動作します。

問題は、ゲーム内画面からメイン メニューに戻ったときに、タッチ イベントがまだアクティブであり、画面上の任意の場所をタッチするとアプリがクラッシュするためです。これは、何らかの理由で inGame ビューのメソッドが MainMenu ビューから呼び出されるために発生します。inGameView のタッチ イベントのみを制限する方法はありますか?

PS。setUserInteraction:(BOOL)メインメニューのボタンを押すことができなくなったため、この方法は私の場合はオプションではありません。

MainMenu から inGame への移行

GamePlayView *gpv = [self.storyboard instantiateViewControllerWithIdentifier:@"GamePlayView"];
[self presentViewController:gpv animated:YES completion:nil];

そしてインゲームからメインメニューまで

ViewController *svc = [storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
[self presentViewController:svc animated:YES completion:nil];
4

2 に答える 2