0

J'essaie de charger un contrôleur de vue avec un XIB différent, mais pour des raisons inconnues, il semble qu'il ne le charge pas du tout.L'utilisation de initWithNibName ne change absolument rien

Habituellement mon code est quelque chose comme ceci:

WorkflowViewController *workflowViewController = [[WorkflowViewController alloc] init]; 

[self.navigationController pushViewController:workflowViewController 
            animated:YES]; 
[workflowViewController release]; 

Et maintenant, je veux charger une autre avec le même xib contrôleur alors j'ai essayé:

WorkflowViewController *workflowViewController = [[WorkflowViewController alloc] initWithNibName:@"Workflow" 
                          bundle:[NSBundle mainBundle]]; 
[self.navigationController pushViewController:workflowViewController 
            animated:YES]; 
[workflowViewController release]; 

Mais il ne fait absolument rien! Pas d'erreur, pas d'avertissement, et pas de xib chargé. Seule une interface vide est transmise au contrôleur de navigation:/

Vous avez des idées sur les raisons de cette situation et comment y remédier?

Merci!

  • Tom
+0

Avez-vous réellement câblé la vue qui est dans le xib à la vue dans la classe de contrôleur? – willcodejavaforfood

+0

J'ai connecté la vue de XIB à la propriété view de UIViewController: yes :) Je l'ai fait dans IB. Merci – TomShreds

Répondre

0

J'ai résolu le problème en créant un autre contrôleur et une autre vue. Puis relier tous les trucs ensemble. Il semblait que les vues étaient liées au contrôleur et rien n'était capable de le changer ...

1

avez-vous essayé d'utiliser zéro au lieu de [NSBundle mainBundle]?

WorkflowViewController *workflowViewController = [[WorkflowViewController alloc] initWithNibName:@"Workflow" bundle:nil]; 
[self.navigationController pushViewController:workflowViewController 
           animated:YES]; 
[workflowViewController release]; 
+0

Je viens de faire maintenant et il fait la même chose: S Merci de m'aider :) – TomShreds

+0

Êtes-vous sûr que votre xib est configuré correctement? En particulier avez-vous défini className WorkflowViewController dans le nom de classe de l'inspecteur d'identité dans Workflow.xib? – Romain

+1

un autre indice, pourrait être de "nettoyer" votre cible pour s'assurer qu'il utilise la bonne version de votre xib ... (je déteste le constructeur d'interface) – Romain

0

J'ai eu le même problème et il s'avère que mon équivalent de votre "WorkFlowViewController" avait une implémentation vide de "loadView" qui wasn ' t appel super pour que