2013-11-22 32 views
0

我认为这是可能的,但由于常见的话我无法谷歌是否这是可能的,如果是的话,我做错了什么。我需要在drawRect中的自定义视图按钮,并给它一个选择如何在自定义视图中有一个选择器

// in drawrect 

    [myButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside]; 
    .... 

} 

-(void)buttonClicked 
{ 
    NSLog(@"you clicked the button"); 
} 

响应和运行得到unrecgonized选择错误时:

2013-11-21 20:06:24.847 customui[8529:70b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[IAMax buttonClicked:]: unrecognized selector sent to instance 0x8ca7d00' 

这可能吗?我在做什么? thx提前

回答

2

你的动作选择器和实际的方法是不一样的。一个是buttonClicked:,另一个是buttonClicked

更改选择器以匹配实际方法。

@selector(buttonClicked) 
+0

啊...... thx(再次)maddy – timpone

1

雅应该删除:

因为如果添加:

您应该添加ID发送到方法名

Cheerz

+0

这是什么? –

+1

@BryanChen这是一个有效的,但有点神秘的答案。 – rmaddy

+0

thx奎托斯为答案 – timpone

2
[myButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside]; 

在您的代码@selector(buttonClicked:)你加入你使用参数调用方法,所以你的选择器方法必须是wr如下:

-(void)buttonClicked:(id)sender 
{ 
    NSLog(@"you clicked the button"); 
} 
+1

thx解释,知道结肠存在有一个原因。 – timpone

相关问题