2010-02-19 9 views
0

Je crois comprendre que pour passer d'un fichier xib à un autre, on utilise généralement soit un contrôleur de navigation, un contrôleur à onglets ou un contrôleur Flipside ou une combinaison de ces éléments. Mais ma question est: est-ce que je peux écrire mon propre contrôleur personnalisé et utiliser Core Animation pour passer d'une vue à l'autre ou ces contrôleurs par défaut (navigation/tabulation/flipside) sont-ils les seules options de transition entre les fichiers xib?Déplacement entre plusieurs fichiers XIB

Répondre

2

Oui, vous pouvez. Une façon de le faire est d'avoir un contrôleur de vue de niveau racine, appelez-le RootViewController, qui connaît les contrôleurs de vue enfant. Ensuite, il suffit de configurer et d'exécuter un bloc d'animation qui supprime une vue de childViewController de RootViewController et ajoute une autre vue de childViewController à RootViewController. Le bloc d'animation serait probablement déclenché à partir d'une méthode d'action.

0

Vous pouvez utiliser un rootController, dans cette situation, vous allez utiliser

/* RootController */

  • (void) showSomething: (id) {_example self.view = somethingController.view; // Définition de votre vue somethingController.example = _example; // Vous pouvez même définir la propriété entre votre point de vue }

/* UIViewController + RootControllerAccess */

// .H

import "RootController.h"

@interface UIViewController (RootControllerAccess) - (RootController *) rootController; @end

// .M

import "UIViewController + RootControllerAccess.h"

@implementation UIViewController (RootControllerAccess)

- (RootController *) fadeController { retour (RootController *) self.view.window.rootViewController; }

@end

/* Ici, vous allez, vous êtes prêt à appeler toutes les vues où tout

en faisant cela, vous pouvez utiliser partout showSomething: [self.rootController showSomething :néant];

Questions connexes