2010-04-07 4 views
0

싱글과 더블 탭에 응답하는 버튼을 만들려고합니다. myAction 메서드를 사용하여이 작업을 수행하려고합니다. 문제는 버튼을 처음 누르면 myAction 메서드가 호출되지 않는다는 것입니다.iPhone UIButton Tap

누군가 이런 일이 일어나는 이유를 말할 수 있습니까? 어떻게 해결할 수 있습니까?

-(IBAction)myButton:(id)sender{ 
    UIButton *theButton = (UIButton *)sender; 
    [theButton addTarget:self action:@selector(myAction:forEvent:) forControlEvents:UIControlEventAllEvents]; 
} 

- (void)myAction:(id)sender forEvent:(UIEvent *)event { 
    NSLog(@"Touch events goes here"); 
} 

당신은 헤더 파일에 함수를 정의해야

I. 바실 레프

답변

-1

감사합니다 ("MyViewController.h, 예를 들어").

@interface bla bla { 

} 

- (IBAction)myButton:(id)sender; 
- (void)myAction:(id)sender forEvent:(UIEvent *)event; 

@end 
+0

myButton이 정의되어 있지만 myAction을 정의하는 것을 잊었다 고 생각합니다. 이게 내가 문제라고 생각하니? 메소드 myAction은 제 2, 제 3 등 탭에서 결과를 기록합니다. – Ivan

+0

나는 그것을 위해서해야한다. 문제가 해결되지 않으면 알려주십시오. – lugte098

1

나는 당신을 myButton와 이벤트 링크 가정 : 그래서 보낸 사람

를 단순히 의미 : 당신은 그냥 직접 전화 시켜라으로이 문제를 해결하거나 할 수

When tap at myButton, 
    register `myAction` to the button's event handler. 

이벤트를 myAction :에 다시 링크하십시오.

+0

Bird가 말한 바를 명확하게하기 위해, 클릭 할 때마다 -myButton : action 메시지를 보내도록 Interface Builder에서 버튼을 구성한 것으로 보입니다. 왜 그냥 -myAction : 메시지를 보내도록 구성하지 않는가? – jlehr

+0

Hello Bird, 내 행동을 직접 호출하는 문제를 해결했습니다. 대단히 감사합니다. – Ivan

+0

jlehr, 명확히 해 주셔서 감사합니다. – Ivan