触摸功能的功能调用



我目前正在开发一款iPad应用程序,我想对我的视图控制器进行函数调用,以便在对象移动到某个位置的事件中切换视图。在"touchesMoved"one_answers"touchesEnded"中,我试图在视图控制器中调用一个函数,以便在对象被拖动到某个位置时切换视图,但该函数似乎从未被调用。

例如,"touchesEnded"非常简单,它只是对视图控制器进行调用,消息会记录在touchesEndd内部,但不会记录在应该调用的视图控制器函数内部。我试着进入调试器中的函数,但它似乎只是跳过了它

从视图*注意m_pJupiter是UIImageView,m_pLevelID是NSString,m_pMyVC是我的自定义视图控制器类的实例。

- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    if (m_pJupiter.center.x >= (m_pDest.center.x - 25)) 
    {
        NSLog(@"Calling beginGameWithLevelID");
        [m_pMyVC startGameWithLevelID: m_pLevelID];
    }
}

视图控制器的功能

- (void) startGameWithLevelID:(NSString*)pLevelID
{
    NSLog(@"MyViewController - beginGameWithLevelID");
    // The logic for switching views, etc
}

第一条日志消息总是显示,但视图控制器中的日志消息从未显示。我在想,最坏的情况下,我会使用一个定制的UISlider,但这一直困扰着我。

- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    if (m_pJupiter.center.x >= (m_pDest.center.x - 25)) 
    {
        NSLog(@"111");
        if([m_pMyVC respondsToSelector:@selector(startGameWithLevelID:)])
        {
            NSLog(@"222");
            [m_pMyVC startGameWithLevelID: m_pLevelID];
        }
    }
}
- (void) startGameWithLevelID:(NSString*)pLevelID
{
    NSLog(@"333");
    // The logic for switching views, etc
}

如果输出仅为"111",则表示找不到您的"-(void)startGameWithLevelID:(NSString*)pLevelID"方法

如果输出是"111"222",可能您的xcode有问题,请重新打开它

最新更新