UinavigationController의 재정의 문제
-
22-07-2019 - |
문제
이제 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];
}
제휴하지 않습니다 StackOverflow