Domanda

ora sto lavorando con cocos2d e progetto per aggiungere controller di navigazione alla mia applicazione cocos2d, quindi aggiungo il controller di navigazione alla mia applicazione quando faccio clic per non passare il tocco o l'evento a cocos2d

ora sto cercando di ignorare UINavigationController di aggiungi un nuovo nome di classe è NavigationController ed eredita da UINavigationController

in init chiamo [super init]; ogni cosa sembra andare bene

ma quando provo ad aggiungere

- (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;
}

non chiama

È stato utile?

Soluzione

Perché stai chiamando i metodi ccTouchesBegan: withEvent: e ccTouchesMoved: withEvent: invece dei nomi originali? Non è necessario modificare i nomi dei metodi quando si esegue la sottoclasse di UINavigationController; invece, dovresti mantenere gli stessi nomi e chiamarli super nel modo più appropriato. Ad esempio:

- (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];
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top