2011-04-22 6 views
5

J'ai un View1 avec un view2 sous-vue, où j'ai un bouton UIButton qui a une action incendies soSomething:Comment créer des événements personnalisés?

view1 
--view2 
----IBOutlet UIButton *button 
-----(IBAction) doSomethingid)sender 

cliquant sur le bouton appelle doSomething. maintenant comment puis-je envoyer un événement personnalisé dans doSomething et l'attraper à la view1?

par exemple dans view2:

code:

-(IBAction)doSomething:(id)sender{ 
    // Disptach the event for the parent "superView" to receive 

} 

puis dans View1 ont quelque chose qui gère cet événement.

Répondre

6

Dans votre cas d'action

// Dispatch the event for the parent "superView" to receive 
-(IBAction) doSomething:(id)sender{ 
    [[NSNotificationCenter defaultCenter] postNotification:@"SomeEventName"]; 
} 

dans votre méthode view1 viewdDidLoad écrire ce code

[[NSNotificationCenter defaultCenter] addObserver:self 
    selector:@selector(methodToHandel) name:@"SomeEventName" object:nil]; 

et ajoutez cette méthode pour gérer cet événement

-(void) methodToHandel{ 
    // this method get call 
} 
0

Vous pouvez utiliser NSNotifications ou délégation en fonction de la configuration de votre application. Je suggère de regarder les docs pour en savoir plus sur ces choses.

Questions connexes