2010-10-30 7 views
0

Je suis confus quelque chose de féroce d'avoir plusieurs vues. Je veux simplement avoir un bouton sur ma vue principale qui active une nouvelle vue, qui à son tour aurait un bouton (x) qui retourne à la vue principale. Pour la vie de moi, je ne peux pas comprendre comment faire cela avec deux fichiers .xib distincts. Comment ça pourrait être fait?Comment insérer une sous-vue avec xib?

Merci!

Répondre

1

En fait, je résolu en le faisant de cette façon:

NewViewController *new = [[NewViewController alloc] initWithNibName:@"NewViewController" bundle:nil]; 
new.delegate = self; 
new.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 
[self presentModalViewController:new animated:YES]; 
[new release]; 
+1

vous pouvez aussi faire '[self.view addSubview: new.view]' et créer vos propres animations. –

+0

Merci, c'est bon à savoir! –

1

Il peut être plus simple d'utiliser simplement l'application utilitaire en tant que modèle. À partir de là, vous pouvez voir comment charger les contrôleurs de vue et les pointes afin d'afficher la nouvelle vue et comment vous la quitteriez.

+0

Je l'ai étudié en vain. Eh bien, il est temps de revenir aux livres. ;) –

+1

Sur l'application utilitaire, jetez un coup d'oeil à la fonction - (IBAction) showInfo: (id) expéditeur sur MainViewController puis - (IBAction) done: (id) expéditeur sur FlipsideViewcontroller –

+0

Fera, merci! –

0

Vous utilisez un contrôleur de navigation, n'est-ce pas?

Sur la IBAction associée à un bouton tap sur l'écran principal, mis

NewViewController *newView = ... // [alloc - init your view here if you haven't already] 
[self.navigationController pushViewController:newView animated:YES]; 

Et sur le bouton NewView,

[self.navigationController popViewControllerAnimated:YES] 
+0

Non, ce n'est pas un contrôleur de navigation. –

+0

Vous devriez envisager d'utiliser un contrôleur de navigation, car c'est comme cela qu'il est recommandé de le faire. En dehors de cela, vous pouvez envisager de jouer avec view.hidden, [view bringSubviewToFront:], [view sendSubviewToBack:], etc, pour afficher ce dont vous avez besoin. – Altealice

+0

Je l'ai fait d'une manière légèrement différente, voir ma réponse. Mais merci pour votre aide! –

Questions connexes