当我将它们用作按钮时,如何在UIImages上设置动作?

时间:2011-02-14 06:13:49

标签: iphone uibutton uiimage

您好 我正在使用图像作为按钮,所以如何在按下时放置事件方法,我的编码如下...

UIImageView* view = [[UIImageView alloc] initWithImage: [UIImage imageNamed: @"front_pag.png"]];
    view.frame = CGRectMake(0, 0, 320, 460);
    [self.view addSubview:view];


    new_button = [[UIButton alloc] init];
    UIImage *img1 = [UIImage imageNamed:@"new.png"];
    [new_button setImage:img1 forState:UIControlStateNormal];
    [new_button setFrame:CGRectMake(85, 430, 0, 0)];
    [new_button addTarget:self action:@selector(newMethod) 
         forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:new_button];

我应该怎么做,因为在这种情况下,我不能调用newMethod,即使我在同一个类中也有这个方法。

我该怎么办?

2 个答案:

答案 0 :(得分:1)

我想你可以尝试一下,

uiimage *img1 = [UIImage imageNamed:@"someImage.png"];
button = [UIButton buttonWithType:UIButtonTypeCustom];
[button addTarget:self 
           action:@selector(aMethod:)
 forControlEvents:UIControlEventTouchUpInside];
[button setImage:img1 forState:UIControlStateNormal]
button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
[view addSubview:button];

答案 1 :(得分:1)

您应该将addTarget调用更改为:

[new_button addTarget:self action:@selector(newMethod:) 
     forControlEvents:UIControlEventTouchUpInside];

请注意newMethod:名称

后面的分号

这是因为您的选择器的签名应如下所示:

- (void) newMethod:(id) sender

这样就可以调用它。

祝你好运