iOS确定以编程方式创建的按钮

时间:2013-03-07 08:08:28

标签: iphone ios uibutton

我使用for循环制作了带有图像和按钮的水平滚动视图,我现在要做的是按下按钮时,打开与全屏相对应的图像。我所遇到的问题是确定哪个按钮被按下了。我正在使用:

[button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];

然后:

-(void)buttonPressed:(UIButton *)sender {}

我该怎么做才能解决这个问题?感谢

4 个答案:

答案 0 :(得分:1)

  

已按下哪个按钮

创建property以存储tag。在buttonPressed方法中,将属性设置为sender.tag

现在你可以知道哪个按钮最后被按下了。

答案 1 :(得分:0)

sender是用户点击的按钮,因此在创建按钮时,您可以使用tag属性并将其设置为保存图像的阵列的索引。但是,如果你改变图像或按钮的顺序或数量,这可能会有点不稳定,所以准备检查它。

答案 2 :(得分:0)

这样做的一种方法是保留按钮的引用(使用属性,类中的属性)并测试它是否是buttonPressed方法中的好方法

- (void)buttonPressed:(UIButton *)sender {
  if (sender == self.myButton) {
    // DO YOUR WORK HERE
  }
}

你也可以为此创建一个方法,只有这一个按钮

顺便说一句

- (IBAction)buttonPressed:(UIButton *)sender
然后,您可以在界面构建器界面中设置按钮的目标

答案 3 :(得分:0)

为for循环but.tag=i;

中的每个按钮设置标记
  

- (void)buttonPressed:(UIButton *)sender {

     

if(sender.tag == 1){

     

// display image 1

     

}

     

否则如果......

     

}