确定用户按下哪个按钮

时间:2011-08-18 20:18:54

标签: objective-c ios cocoa-touch uibutton

我想在我的视图中有三个按钮或图像,每个按钮或图像代表一个“武器”。如何知道用户选择了哪个按钮,并使用此信息?

我以为我会使用一个函数来收集有关所选武器的信息,它的损坏等,但我习惯为视图中的每个按钮创建一个函数。我现在想知道如何确定这些按钮之间的区别,具体取决于哪一个被选中。

1 个答案:

答案 0 :(得分:3)

你应该创建一个带有一个参数的动作方法,即发送者:

- (IBAction)weaponPressed:(id)sender;

然后,您可以根据与按钮相关的实例变量检查发件人:

if (sender == gunWeaponButton)
    // Do something
else if (sender == mineWeaponButton)
    // Do something
else
    // Do something else

此外,您可以为按钮分配标签,这只是一个整数值:

gunWeaponButton.tag = 0;

然后您可以检查发件人的标签:

if (sender.tag == gunWeaponButton.tag)
    // Do something