按下按钮时显示内容 - 逻辑问题

时间:2012-02-18 18:17:14

标签: iphone objective-c cocoa-touch

我必须将图像设置为barButton,它才能正常工作。

如果persons年龄大于20,我需要将图像A.png添加到按钮,如果人的年龄小于20,我将添加B.png。这是一个简单的if-else语句

if (person >20)
// barbutton with A.png
else
// barButton with B.png

操作或当用户点击此按钮时,将调用buttonPressed方法。现在在这个按钮按下方法我需要知道点击了哪个按钮。它是A.pngB.png的按钮。

我该怎么做?

- (void)buttonPressed : (id)sender {
}

3 个答案:

答案 0 :(得分:0)

添加button.tag = someInteger;

- (void)buttonPressed : (id)sender 
{
UIBarButton *button = (UIBarButton *) sender;
if(button.tag == someInteger)
{
//YOUR CODE
}
}

答案 1 :(得分:0)

您可以在一个按钮上使用标签。像这样:

  

if(person> 20){
       button.tag = 1;
      button.image = imageA;   }

     

否则{
       button.tag = 2;
    button.image = imageB;   }

您可能知道根据您设置的标记点击了哪个按钮。

  

- (void)buttonPressed:(id)sender {

     

int tag =((UIBarButton *)sender).tag;
       if(tag == 1)
        //带有imageA的按钮。
     否则
       //带有imageB的按钮   }

答案 2 :(得分:0)

如果您不想使用标签,我假设您在标题文件中将按钮设置为插座,如:

//在标题

         @property (nonatomic, retain) UIButton* button1; 
         @property (nonatomic, retain) UIButton* button2;

//在实施中

         @synthesize button1;
         @synthesize button2;

         -(void)buttonPressed:(id)sender{
               if(sender==button1){
                   execute code for button1;
                }
               else 
                   execute code for button2;
         }