Проблема с переопределением UINavigationController
-
22-07-2019 - |
Вопрос
Теперь я работаю с cocos2d и планирую добавить навигационный контроллер в мое приложение cocos2d, поэтому я добавляю навигационный контроллер в свое приложение, когда нажимаю на него, не передавая касание или событие в cocos2d
Теперь я пытаюсь переопределить UINavigationController Добавить новое имя класса 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];
}