如何阻止屏幕上的视图倍增? (的touchesBegan,touchesMoved,touchesEnded)

时间:2012-06-21 06:22:40

标签: iphone objective-c ipad-2 touchesbegan touchesmoved

我是Objective C的新手,我正在尝试制作一款基本的益智游戏。我正在使用多个UIImage对象,一些标签和一个按钮。它包括将碎片移动到正确的位置。如果用户未能将某件物品放入某个地方,则该物品将返回其原始位置。

该部分完美运行,一旦我'删除'该视图并继续在其他屏幕上,问题就开始了。每当我在屏幕上点击ANYWHERE时,视图就会无休止地增加。为什么会这样?

我该怎么办?,我非常绝望,我几乎尝试过所有事情,包括忽略触摸,阻挡触摸等等。这只会造成更多麻烦。

我已经尝试过将交互设置为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;
}

1 个答案:

答案 0 :(得分: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;
}

感谢所有看过的人!并希望提供帮助!我希望这适用于其他有同样问题的人。