Iphone 在'中识别按钮按下;if语句';

Iphone 在'中识别按钮按下;if语句';,iphone,objective-c,oop,Iphone,Objective C,Oop,我正在开发一款iOS游戏,其中会出现一个文本标签,玩家必须按下相应的彩色按钮。我试图找出如何格式化if语句,以识别按下的按钮是否与屏幕上的当前文本匹配。在这个if语句中,我希望发生的是:如果显示了redText并且按下了redButton,则添加点。否则游戏就结束了。我将为四种颜色中的每种颜色复制/粘贴此语句 这是我目前使用的方法,注意“buttonPressed”没有任何意义,只是一个占位符: -(void)gameStatePlayNormal { if (redText.hidde

我正在开发一款iOS游戏,其中会出现一个文本标签,玩家必须按下相应的彩色按钮。我试图找出如何格式化if语句,以识别按下的按钮是否与屏幕上的当前文本匹配。在这个if语句中,我希望发生的是:如果显示了redText并且按下了redButton,则添加点。否则游戏就结束了。我将为四种颜色中的每种颜色复制/粘贴此语句

这是我目前使用的方法,注意“buttonPressed”没有任何意义,只是一个占位符:

-(void)gameStatePlayNormal
{
    if (redText.hidden=NO && buttonPressed == redButton)
{
     score += 10;
}
    else
{
    gameState = kStateGameOver;
}
}

提前感谢您的反馈。:)

您需要创建一个在按下任何按钮时调用的函数。将每个按钮连接到故事板中的此功能(“内部润色”事件)。然后你可以拦截发送者

- (IBAction)buttonWasPressed:(id)sender
{
    if (redText.hidden=NO && [(UIButton *)sender isEqual:redButton]) {
        score += 10;
    }
    else {
        gameState = kStateGameOver;
    }
}

按下按钮是否直接调用
gameStatePlayNormal
方法?尝试在按钮上放置标签,并检查是否是带有标签的按钮。
(UIButton*)按下的按钮应该是
(UIButton*)发送方
。让我更接近的是,但是,在这种情况下,当我按下红色按钮时,应用程序终止,并说“未识别的选择器已发送到实例0x9027ea0”,它是否在特定行上?你确定你的功能在你的故事板中被连接了吗?是的,它们被连接为UIButton而不是actions。我猜这就是问题所在?是的,请确保您的函数具有
iAction
作为返回值,并且它应该显示在您的故事板中。从视图控制器中的此功能拖动到使用红色按钮的“内部润色”。