Question

Je l'ai sous-classé UIViewController dans une nouvelle classe, PageViewController (j'écris une application simple de livre). Je veux ajouter une nouvelle vue chargée à partir d'un fichier nib et je suis en utilisant le code suivant. Il fonctionne.

PageViewController *viewController1 = [[UIViewController alloc] initWithNibName:@"Page1" bundle:nil];
[viewController1.view setUserInteractionEnabled:YES];
[self.view addSubview:viewController1.view];

Cependant, la première ligne est mal parce que je devrais le alloc sur PageViewController. Quand je le corriger (ci-dessous), le code compile mais le fichier ne se charge pas xib et la vue est tout simplement transparent.

    PageViewController *viewController1 = [[PageViewController alloc] initWithNibName:@"Page1" bundle:nil];
[viewController1.view setUserInteractionEnabled:YES];
[self.view addSubview:viewController1.view];

La méthode PageViewController initWithNibName a été décommenté et est juste la valeur par défaut, réglage auto = [super initWithNibName: bundle nibNameOrNil: nibBundleOrNil].

Ce que j'ai essayé: Dans le fichier nib Page1, j'ai essayé de changer la classe du propriétaire du fichier entre PageViewController et UIViewController. Oui, je me suis souvenu de le connecter de nouveau à la prise de vue par la suite.

Aide, s'il vous plaît! Je suis perplexe.

Était-ce utile?

La solution

Avez-vous la méthode de substitution loadview dans PageViewController? Que faire si vous NSLog le viewController1.view?

En effet, dans Interface Builder, vous devez définir le propriétaire du fichier à PageViewController et connecter son point de vue à la vue que vous avez dans Interface Builder.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top