我使用for循环制作了带有图像和按钮的水平滚动视图,我现在要做的是按下按钮时,打开与全屏相对应的图像。我所遇到的问题是确定哪个按钮被按下了。我正在使用:
[button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
然后:
-(void)buttonPressed:(UIButton *)sender {}
我该怎么做才能解决这个问题?感谢
答案 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
}
否则如果......
}