Ma vue principale PlayGameViewController a une sous-vue (en réalité 2 d'entre eux) appelée CardViewController.Parent VeiwControllers de ViewControllers
CardViewController crée des boutons programme
-(void) initialiseButtons
{
NSLog(@"initialiseButtons %d",totalButtons);
int ypos = playerImage.frame.origin.y + playerImage.frame.size.height + 42;
for(int i=0; i<totalButtons; i++)
{
StatView *sv = [[StatView alloc] initWithYPos:ypos];
sv.tag = 100 + i;
[sv.overlayButton addTarget:self action:@selector(statTapped:)
forControlEvents:UIControlEventTouchUpInside];
sv.overlayButton.tag = 10 + i;
[self.frontView addSubview:sv];
ypos += 26;
}
}
Il définit une fonction de rappel statTapped. Cela fonctionne bien et la fonction est appelée. Mais ... Toute la logique du jeu est dans PlayGameViewController donc j'ai besoin de gérer la fonction là-bas. J'ai essayé de supprimer la fonction de CardViewController et de l'implémenter dans PlayGameViewController mais l'appel n'a pas été transmis à la classe parente.
Y a-t-il des raisons d'y parvenir ou est-ce que je parle et que je suis fou?
Ok je vous suis aussi loin que la mise en place du centre NSNotification en PlayGameViewController. La deuxième ligne est le code: [[NSNotificationCenter defaultCenter] postNotificationName: @ objet "statTapped": self]; Est-ce que cela est appelé depuis ma méthode startTapped dans CardViewController? Puis finalement j'implémente une méthode appelée startTapped dans PlayGameViewController qui sera appelée comme résultat de tout le code ci-dessus. –
Oui, vous l'avez. – Calvin