放了3个按钮,分别为btn1,btn2,btn3
当点击其中的一个按钮时,怎么判断点击的按钮是3个中的哪个?

解决方案 »

  1.   

    你首先要声明和定义三个点击事件,-(IBAction)cliekBtnOne{//事件处理},-(IBAction)cliekBtnTwo{//事件处理},-(IBAction)cliekBtnThree{//事件处理},然后再在IB中关联它们。按住Ctrl键,将对应的button拉到File's own,选择你要的点击事件即可!
      

  2.   

    我只定义一个点击事件,-(IBAction)cliekBtn{//事件处理},在-(IBAction)cliekBtn中判断是哪个按钮,在执行事件,因为执行差不多的事件,不想写3个,不知道能不能实现。也就是说多个UIButton映射到同一个事件函数,在事件中,如何区分是哪个按钮触发了事件?
      

  3.   

    在ButtonAttributes中将Tag设成1(用的是UIButton)
    click事件函数中
    -(IBAction)cliekBtn{
      UIButton* button = (UIButton*)sender;
      int btnTag = [button tag];
      ...
    }
    btnTag永远都是0...哪里错了?
      

  4.   

    哈哈,搞出来了,是没有保存interface
    不过多谢Linux_fay的回答
      

  5.   


    首先要在*ViewController.h文件中,声明IBOutlet UIButton *btn; @property(retain, nonatomic) UIButton *btn;  声明一个函数-(IBAction)cliekBtn;
    然后在*ViewController.xib中,把三个button都关联到btn,并都关联clickBtn事件,再然后就是在button Attributes 中对三个button控件设置tag,在button Attrubutes的下半部分能找到,tag属性。对于的第一个button将tag设为1,第二个设置为2,第三个设置为3.最后在*ViewController.m中@synthesize btn;  
    再实现
    -(IBAction)cliekBtn{
      if(btn.tag == 1){ 
         //do something 
      }
      else if(btn.tag == 2){
         //do something
      }else{
          //do something
      }}
      

  6.   

    楼上的错了,我也没去试,原来是不能同事关联到一个IBOutlet的。
    首先要在*ViewController.h文件中,声明一个函数-(IBAction)cliekBtn;
    然后在*ViewController.xib中,把三个button都关联到clickedBtn事件,并在button Attrubutes的后半部分设置tag值。对第一个button将tag设为1,第二个设置为2,第三个设置为3.最后在*ViewController.m中实现点击事件
    -(IBAction)cliekBtn{
      UIButton* btn = (UIButton*)sender;
      int btnTag = [btn tag];
      if(btn.tag == 1){  
      //do something  
      }
      else if(btn.tag == 2){
      //do something
      }else{
      //do something
      }}
      

  7.   


    //int btnTag = [btn tag];  没有的,注释掉
    不知道楼主是怎么实现的? 
      

  8.   

    声明一个函数-(IBAction)cliekBtn,把三个button都关联到cliekBtn事件,并在button Attrubutes的后半部分设置tag值。对第一个button将tag设为1,第二个设置为2,第三个设置为3在clickedBtn事件中,先将sender转成UIButton的对象
    UIButton* button = (UIButton*)sender;在取当前button的tag值
        int btnTag = [button tag];
    不是int btnTag = [btn tag];