如何从按钮获取操作?

时间:2012-03-12 00:52:58

标签: xcode

在我的程序中,有5个五键。将根据按钮的选择执行不同的操作。但是,我只是为所有按钮分配一个IBAction。有没有什么方法可以帮助我检测用户在单个IBAction中选择哪个按钮?非常感谢!

3 个答案:

答案 0 :(得分:3)

为每个按钮分配一个唯一的tag属性。然后,使用IBAction方法检查:

- (IBAction)theActionDone:(id)sender
{
    UIButton *button = (UIButton *)sender;

    switch (button.tag)
    {
        case 1:
        {
            //do stuff for button one
            break;
        }

        ...
    }
}

答案 1 :(得分:1)

sender将成为调用对象。

- (IBAction)theActionDone:(id)sender;

如果上面有许多按钮调用theActionDone:sender就是按钮调用(按钮或按钮控制,无论哪种方式,你都可以从那里开始工作)。

答案 2 :(得分:1)

假设您的按钮有

@property (strong, nonatomic) UIButton *menuButton;

你可以改变这样的功能:

- (IBAction)actionButtons:(UIButton*)sender {
    if ([sender isEqual:menuButton]) {
        NSLog(@"Menu Pressed");
    }
}

这样你可以将标签用于别的东西(我用它们来表示我在接口的哪个阶段)例如

PD:你可能希望你的按钮变弱,我把它们联系起来是有道理的。