2012-05-20 5 views
0

내 앱에 대상/동작 메서드를 추가하는 데 문제가 있습니다. 여기 내 코드는 다음과 같습니다.UIControl - addTarget : action : forControlEvents가 selector 내부의 메서드를 호출하지 않습니다.

-(void)printInConsole 
{ 
    NSLog(@"2"); 
} 

-(void)createGCButton 
{ 
    UIButton * LButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    LButton.frame = CGRectMake(200, 90, 100, 50); 
    [LButton setTitle:@"L" forState:UIControlStateNormal]; 
    [self.view addSubview:LButton]; 
    [LButton addTarget:self action:@selector(printInConsole)forControlEvents:UIControlEventTouchUpInside]; 
} 

그래서 처음에는 게임 센터 방법을 하나 시도했지만 작동하지 않았습니다. 그리고 이제이 간단한 NSLog 메서드를 추가하고 작동하지 않습니다. 콘솔은 아무것도 적어 두지 않습니다. 그렇다면 문제는 어디입니까? 내 코드에 대한 자세한 내용이 필요하면 그냥 말하고 게시 할 것입니다. 이 문제를 해결하는 사람은 신의 축복을받습니다.

감사

, Klemen

+0

버튼을 누르면 눌린 것처럼 보입니까 (예 : 색상이 바뀌나요?)? – Joel

+0

이 코드를 깨끗한 프로젝트에 붙여 넣으면 작동하지 않으므로 게시 한 코드에 문제가 없습니다. UITapRecognizers를 사용하여 우연히 보셨습니까? ARC를 사용하고 있습니까? –

+0

@Joel the button 색깔 변경 –

답변

1

문제는 UITapGestureRecognizer 매우 가능성이 높습니다. 당신은 이것을 볼 수 있습니다 blog post 제가 문제에 대해 만들었습니다.

기본적으로 UITapGestureRecognizer 대리자 메서드를 구현하고 단추를 사용하지 말라고 말합니다.

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 
{ 
    return ![touch.view isKindOfClass:[UIButton class]]; 
} 
관련 문제