Mon application comprend 3 vues. J'ai défini 3 méthodes d'assistance dans le AppDelegate
pour passer entre chaque vue (de sorte que chaque vue peut appeler l'autre), qui se présentent comme suit:Affichage non dessiné correctement lors du changement de vue
-(IBAction)goToView1 {
if (view1 == nil)
{
View1 *thisView = [[View1 alloc] initWithNibName:@"View1" bundle:nil];
view1 = thisView;
}
for (UIView *view in window.subviews)
[view removeFromSuperview];
[window addSubview:view1.view];
}
Si l'utilisateur souhaite passer à un autre point de vue, j'attache un bouton à un IBAction
défini dans le contrôleur de la vue:
-(IBAction)goToOtherView:(id)sender {
ViewSwitcherAppDelegate *root = [[UIApplication sharedApplication] delegate];
[root goToView1];
}
tout cela fonctionne très bien pour changer de vue, mais quand la vue est dessiné, il est affiche incorrectement, comme il ignore la barre d'état:
Qu'est-ce que je fais mal? Cela fonctionne bien lorsque l'application démarre, donc je pense qu'il y a quelque chose qui ne va pas dans la façon dont j'ajoute la sous-vue à la fenêtre.
Merci d'avance!
Définissez-vous la propriété frame de la vue? Si oui, pouvez-vous nous montrer le code? – diederikh
Pas que je sache. Les vues ont été créées en utilisant les valeurs par défaut. Voici un exemple de projet qui présente le même comportement (en utilisant SDK 3.0): http://files.getdropbox.com/u/361159/ViewSwitcher.zip –