Un problème avec la substitution UINavigationController
-
22-07-2019 - |
Question
Maintenant, je travaille avec cocos2d et je conçois pour ajouter un contrôleur de navigation à mon application cocos2d, donc j'ajoute navigationcontroller à mon application lorsque je clique dessus, ne transmettez pas le contact ou l'événement à cocos2d
maintenant je suis essayer de remplacer UINavigationController par ajouter un nouveau nom de classe est NavigationController et hériter de UINavigationController
dans init i appelle [super init]; toutes les choses semblent être ok
mais quand j'essaie d'ajouter
- (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;
}
n'appelle pas
La solution
Pourquoi appelez-vous les méthodes ccTouchesBegan: withEvent:
et ccTouchesMoved: withEvent:
au lieu des noms d'origine? Il n'est pas nécessaire de changer le nom des méthodes lorsque vous sous-classez UINavigationController; au lieu de cela, vous devriez conserver les mêmes noms et appeler super
dessus, le cas échéant. Par exemple:
- (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];
}