2013-11-22 65 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

相關問題