如何在目标c中的几个按钮之间识别按钮按下

时间:2009-09-14 05:00:46

标签: objective-c

我有4个按钮(b1,b2,b3,b4)和一个标签(实验室)。现在我想在按下一个特定按钮时在标签上显示按钮标题。我用四个(IBAction)方法做了一个每个按钮。但我想用1(IBAction)方法做。所以问题是如何识别按下哪个按钮???我知道一种类似“getBytitle”方法的方法。但我需要更好的解决方案。任何人都可以帮忙???我还需要回答有关如何识别段控制中的按钮的问题。高级回复。

2 个答案:

答案 0 :(得分:7)

看一下IB,按钮属性的标签字段可能就是你要找的东西。使用不同的整数标记值设置要检测的每个按钮,然后将其IBActions设置为相同的方法。现在,您可以通过检查发件人

中的标记字段来检查按下了哪个按钮
- (IBAction) buttonPressed: (id) sender
{
    switch ( ((UIButton*)sender).tag ){

       case 1:
               <something>
               break;
       case 2:
               <something else>
               break;

       default:
               <default something>
    }
}

答案 1 :(得分:3)

触发操作的按钮将作为发件人传递。您的方法可能看起来像这样:

- (IBAction) buttonPressed: (id) sender;

sender是按钮,因此如果您想在标签中显示按钮标题,您只需要这样做:

- (IBAction) buttonPressed: (id) sender
{
    label.text = [sender currentTitle];
}

应该是它。