0

我有一个包含五个不同UIbutton实例的表单。当我按下一个按钮时,我必须显示不同的选项,所以我的问题是,我怎么知道我用同一个按钮按下了哪个按钮UIView?我不想创建五个 UIView。可以给按钮一个ID吗?

4

3 回答 3

1

正如@Florent 指出的那样,您可以使用标签。但即使是这种复杂性也不需要 - 您可以直接比较按钮对象本身。

- (void)buttonClicked:(UIButton *)sender
{
    if (sender == button1) {
        // button 1 clicked
    } else if (sender == button2) {
        // etc.
    }
}
于 2012-09-02T09:47:40.790 回答
1

您可以通过这种方式为每个 UIButton 分配一个标签:

[button setTag:4] 

或者您可以在 UIButton 的 View 属性中的 Interface Builder 中设置它。

然后在您的 IBAction 中:

- (IBAction)message:(id)sender 
{
  int currentSender = [sender tag];
  switch(currentSender) {
  // Different actions
  }
}
于 2012-09-02T09:34:47.643 回答
0

尝试这个...

(IBAction)nextHipoacusia:(id)sender
 { 
  int currentSender = ((UIButton *)sender).tag;
 }
于 2012-09-02T12:03:31.870 回答