2

J'ai vu l'exemple d'application de lecteur MP-movie iPhone - contrôleur.Comment ajouter une notification pour le contrôleur de vue pop dans l'application iphone?

Ils ont ajouté une notification sur l'exemple de code.

// Register to receive a notification that the movie is now in memory and ready to play 
[[NSNotificationCenter defaultCenter] addObserver:self 
       selector:@selector(moviePreloadDidFinish:) 
       name:MPMoviePlayerContentPreloadDidFinishNotification 
       object:nil]; 

Dans le code ci-dessus, lorsque le chargement se termine MPMoviePlayerController, il invoque la méthode moviePreloadDidFinish.

De même, je souhaite déclencher une méthode lorsque l'utilisateur appuie sur le bouton de retour de la barre de navigation (retour au contrôleur de vue précédent via le contrôleur de navigation).

Je ne sais pas comment ajouter une notification pour cela.

S'il vous plaît donnez quelques conseils pour moi si possible.

Merci à l'avance pour me aider,

Sagar.

+0

Afficher-Apparaître & Afficher-Dis-Disappear ne fonctionnera pas pour moi. Parce que j'utilise plusieurs contrôleurs UINavigation dans un contrôleur de barre d'onglets. –

Répondre

6

Mettez votre propre bouton retour personnalisé dans le navigationItem:

UIBarButtonItem *btn = [[UIBarButtonItem alloc] initWithImage:yourImage style:UIBarButtonItemStyleBordered target:self action:@selector(goBack)]; 
self.navigationItem.leftBarButtonItem = btn; 
[btn release]; 

Dans la méthode goBack de votre viewController, vous mettrez tout le code dont vous avez besoin puis pop la viewController:

- (void)goBack { 
/* your code here */ 

[self.view.navigationController popToRootViewControllerAnimated:YES]; 
} 
+1

Voir J'ai ajouté mon propre code. –

0

J'ai mis le bouton arrière caché du contrôleur de navigation.

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    UIBarButtonItem *x=[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRewind target:self action:@selector(gotoPreviousView)]; 
    UINavigationItem *y=self.navigationItem; 
    y.hidesBackButton=YES; 
    y.leftBarButtonItem=x; 
    [x release]; 
} 

-(void)gotoPreviousView{ 
    MyAccountViewCtr *x=(MyAccountViewCtr*)[self.navigationController.viewControllers objectAtIndex:0]; 
    [self.navigationController popViewControllerAnimated:YES]; 
    [x refreshItems]; 
} 
Questions connexes