0

Objective C は初めてで、基本的なパズル ゲームを作ろうとしています。複数の UIImage オブジェクト、いくつかのラベル、およびボタンを使用しています。ピースを正しい位置に移動することから成ります。ユーザーがピースを所定の位置に配置できなかった場合、ピースは元の場所に戻ります。

その部分は完全に機能します。そのビューを「削除」して他の画面を続行すると、問題が始まります。画面上のどこかをクリックすると、ビューが際限なく増えます。なぜそれが起こっているのですか?

どうすればいいですか? どうしようもないので、タッチを無視する、タッチをブロックするなど、ほとんどすべてのことを試しました。

インタラクションの使用を no に設定し、インタラクション イベントを無視し、ビューを自動解放しようとしましたが、解決には至りませんでした。

どんな助けでも大歓迎です。ご挨拶!

---> 画像を投稿しようとしましたが、私は初心者なのでできませんでしたが、必要に応じて画像を誰にでも送信して、私が得た奇妙な効果をお見せすることができます.

-(void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {
    [self touchesCancelled:touches withEvent:event];
}

-(IBAction) navigationConversation: (id)sender{
    //[self.view.superview setUserInteractionEnabled:NO];
    //[[UIApplication sharedApplication] endIgnoringInteractionEvents];
    if (nextButton.hidden == NO) {
        conversation *navigationConversationController=[[conversation alloc]     initWithNibName:@"conversation" bundle:nil];
        [self.view addSubview:navigationConversationController.view];
        if (self.view.superview == nil)
            [navigationConversationController autorelease];
    }
    return;
}
4

1 に答える 1

0

神に感謝します。問題は解決しました。これは私が行った変更であり、これにより間違いが修正されました。:)

-(IBAction) navigationConversation: (id)sender{
    if (nextButton.hidden == NO) {
        //I disabled the interactions with the puzzle view in here, thus eliminating the problem
        [self.view.superview setUserInteractionEnabled:NO];
        conversation *navigationConversationController=[[conversation alloc]     initWithNibName:@"conversation" bundle:nil];
        [self.view addSubview:navigationConversationController.view];
        if (self.view.superview == nil)
            [navigationConversationController autorelease];
    }
    return;
}

見てくれたみんなありがとう!そして助けたかった!これが同じ問題を抱えている他の人にも役立つことを願っています。

于 2012-06-27T08:18:03.903 に答える