문제

이제 CoCOS2D로 작업하고 있으며 CoCOS2D 응용 프로그램에 NavigationController를 추가하도록 설계하므로 COCOS2D로 터치 나 이벤트를 전달하지 않으면 응용 프로그램에 NavigationController를 추가합니다.

이제 새로운 클래스 이름을 추가하여 UinavigationController를 재정의하려고 노력합니다.

init에서 나는 [Super Init]; 모든 것이 괜찮아 보입니다

그러나 내가 추가하려고 할 때

- (BOOL)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    NSLog(@"Im overriding touch");
    return YES;

}



- (BOOL)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    NSLog(@"Im overriding touchMove");
    return YES;
}

전화가 아닙니다

도움이 되었습니까?

해결책

왜 방법을 호출합니까? ccTouchesBegan:withEvent: 그리고 ccTouchesMoved:withEvent: 원래 이름 대신? UinavigationController를 서브 클래스 할 때 메소드 이름을 변경할 필요가 없습니다. 대신, 당신은 같은 이름을 유지하고 전화해야합니다. super 그들에게도 적절합니다. 예를 들어:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    NSLog(@"I'm overriding touch");
    [super touchesBegan:touches withEvent:event];
}

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    NSLog(@"I'm overriding move");
    [super touchesMoved:touches withEvent:event];
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top