2013-11-22 3 views
0

나는 이것이 가능하다고 생각하지만, 일반적인 단어로 인해 이것이 가능하지 않은지 Google에 확신 할 수 없으며, 그렇다면 무엇을 잘못하고 있는지 설명합니다. 나는의 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' 

를이 가능합니까? 나는 뭘하고있는거야? 사전에 미리

답변

2

귀하의 행동 선택기와 실제 방법은 동일하지 않습니다. 하나는 buttonClicked:이고 다른 하나는 buttonClicked입니다.

실렉터를 실제 방법과 일치하도록 변경하십시오.

@selector(buttonClicked) 
+0

Ahh .... thx (다시) maddy – timpone

1

나중에 제거해야합니다

때문에 추가하는 경우 : 당신이 추가 @selector(buttonClicked:)

당신은 당신의 코드에서 메서드 이름으로

Cheerz에

+0

무엇입니까? –

+1

@BryanChen 유효하지만 다소 기발한 대답입니다. – rmaddy

+0

대답을위한 thx Kratos – timpone

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

을 ID를 보낸 사람을 추가해야합니다 당신이 인자를 가진 메소드를 호출하고 있기 때문에 당신의 selector 메소드는 wr이어야한다. 다음과 같이 itten :

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

설명을 위해 thx는 콜론이 이유 때문에 거기에 존재한다는 것을 알고있었습니다. – timpone

관련 문제