2010-09-14 4 views
0

ma première question ici donc soyez gentil :)iPhone SDK: commutation de vues navigationcontroller

J'essaye d'utiliser un navigationController pour changer de vue. Je suis la suivante vers le bas: Je suis un contrôleur de MainView qui passe à différents contrôleurs de vue en utilisant ce code:

UIButton *buttonPressed = (UIButton *)sender; 

    switch (buttonPressed.tag) { 
    case 1: 
     viewController = catalogView; 
     break; 
    case 2: 
     viewController = locatorView; 
     break; 
    case 3: 
     viewController = galleryView; 
     break; 
} 
[[self navigationController] pushViewController:viewController animated:YES]; 

Maintenant, j'essaye de passer à une autre vue dans l'une de ces vues.

Je me suis dit: Je dois importer la vue principale et créer simplement une méthode ici pour changer de vue.

par exemple.

- (IBAction)goToProductView { 
    //UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"Test" message:@"hier" delegate:self cancelButtonTitle:nil otherButtonTitles:@"Ok", nil] autorelease]; 
    //[alert show]; 
    viewController = galleryView; 
    [[self navigationController] pushViewController:viewController animated:YES]; 
} 

et j'appeler cette fonction à partir d'un viewcontroller comme ceci:

myViewController *mainView = [[myViewController alloc] init]; 
[[self navigationController] popViewControllerAnimated:NO]; 
[mainView goToProductView]; 

La fonction de MainView est appelée ici (l'alerte montre si je CITATION), mais la vue ne change pas.

Quelqu'un ici peut me dire pourquoi ou a une meilleure solution?

Merci à l'avance

(ps. Si je manquais toute information s'il vous plaît ne hésitez pas à demander et je les fournir dès que possible)

Répondre

0

J'ai trouvé l'erreur de mes habitudes.

Je nichait Vues comme ceci:

MainView - SecondView ThirdView

et de demander MainView d'aller de SecondView au ThirdView.

au lieu de ceci:

MainView - SecondView - ThirdView

et maintenant demander simplement le secondView d'aller à la thirdView.

Pour quelqu'un d'autre atteignant ici avec le même problème, j'ai trouvé http://www.edumobile.org/iphone/iphone-programming-tutorials/navigationcontroller-application-in-iphone/ d'être extrêmement utile.

0

Votre flux d'appeler les contrôleurs de vues/vue est incorrect. Si vous pouvez expliquer le scénario correct de ce que vous voulez, je vais vous dire la solution. Ou publiez votre code pour mieux comprendre.

Questions connexes