如何在自定义按钮点击上通过@selector传递数据?

时间:2012-03-29 02:20:19

标签: iphone objective-c ios ipad selector

我正在通过代码制作一个按钮。 我有以下代码行来单击按钮时触发方法:

[imagesButton addTarget:self action:@selector(photoClicked:) forControlEvents:UIControlEventTouchDown ];

问题是我无法通过@selector将数据传递给方法; 如果按钮的背景图像名称为“background.png”,那么在单击按钮时,如何将背景图像的名称发送到方法? 这一切都是通过代码完成的。

谢谢!

-Shredder

2 个答案:

答案 0 :(得分:1)

如果您正在尝试更改发送消息的按钮的属性,那么您的选择器应该具有sender参数,该参数是指向调用它的对象的指针,这是您的按钮这个案例。例如:

- (void)photoClicked:(id)sender {
    UIImage bg = [sender currentBackgroundImage]
}

答案 1 :(得分:1)

必须有一种评论答案的方法,但我不知道它是什么。无论如何,我上面的Gobot忘记在方法声明中发送者之前写(id)。否则Gobot的例子就可以了。