2009-07-04 6 views
0

Salut j'ai un petit doute, j'ai 3 Nib Fichiers:Iphone changer à une autre vue [DEBUTANT]

  1. ConfigureContacts.xib
  2. CallContactsViewController.xib
  3. MainWindow.xib

Lorsque l'application démarre, je le fais:

[window addSubview:callContactsViewController.view]; 
[window makeKeyAndVisible]; 

Alors que le CallContactsViewController.xib est chargé.

CallContactsViewController.xib A l'intérieur il y a un bouton, que lorsque les presses sauts à:

-(IBAction)configureContacts:(id)sender 
{ 
    configureContacts = [[ConfigureContacts alloc] initWithNibName:@"ConfigureContacts" bundle:nil]; 
    [self.view addSubview:configureContacts.view]; 

} 

L'idée est que lorsque le bouton est pressé, il va à la « fenêtre suivante » qui est l'autre fichier .xib . Est-ce la bonne façon de changer à travers xibs? Est-ce que je gaspille de la mémoire ici?

Merci à l'avance

Répondre

0

est ConfigureContacts une sous-classe ViewController? (On dirait qu'il est)

si vous donc en fait quelque chose comme ça

-(IBAction)configureContacts:(id)sender 
{ 
    configureContacts = [[ConfigureContacts alloc] initWithNibName:@"ConfigureContacts" bundle:nil]; 

    [self pushviewController:configureContacts animated:YES]; 
} 

Je pense que c'est ce que vous voulez faire. [Self.view addSubview: configureContacts.view] devrait aussi bien fonctionner mais il ne changera qu'une partie de la vue et vous gardera sur la même 'Fenêtre' pour ainsi dire.

+0

Oui ConfigureContacts est une sous-classe de ViewController. L'utilisation de pushviewController génère un avertissement, CallContactsViewController peut ne pas répondre à -pushViewController. Il génère une EXCEPTION lorsqu'il est exécuté: [CallContactsViewController pushviewController: animé:]: sélecteur non reconnu envoyé à l'instance 0xd1b2a0 – daniel

0

pushViewController est une méthode de UINavigationController, utilisée pour gérer les viewControllers hiérarchiques. Il semble que ce soit ce que vous essayez de faire ici, auquel cas ajouter un UINavigationController à votre code pourrait être la solution.

Vous pouvez également implémenter un troisième UIViewController qui possède à la fois CallContrats et ConfigureContacts et est responsable de la commutation entre eux.

Découvrez le sample code depuis le développement iPhone début 3. Plus précisément, consultez les programmes "06 View Switcher" et "09 Nav". Je pense qu'ils auront le code que vous cherchez.

Questions connexes