在我的程序中,有5个五键。将根据按钮的选择执行不同的操作。但是,我只是为所有按钮分配一个IBAction。有没有什么方法可以帮助我检测用户在单个IBAction中选择哪个按钮?非常感谢!
答案 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:你可能希望你的按钮变弱,我把它们联系起来是有道理的。