Xcode – Comment connecter XIB à la classe ViewController

J’ai créé d’abord mon TestViewController.h et * .m. Après mon TestView.xib.

Maintenant, je dois dire à mon xib: “Oui, veuillez prendre la classe TestViewController comme propriétaire de mon fichier”.

J’ouvre mon fichier xib, accédez à l’inspecteur d’identité de son fichier et choisissez sous “Classe personnalisée” TestViewController.

Mais cela ne semble pas suffisant – comme lorsque j’ouvre le TestView.xib, puis que vous choisissez la vue “Assistent Editor View”, il devrait afficher le ViewController correspondant dans la partie droite de l’écran partagé – dans mon cas, le “TestViewController.h” . Mais ce n’est pas le cas!

Est-il nécessaire de lier le xib à son viewcontroller en faisant glisser des lignes vers des fichiers comme vous le faites avec des sorties et des actions?

Cliquez pour sélectionner le xib. Maintenant, sélectionnez le propriétaire du fichier. Dans le panneau d’atsortingbuts sur le côté droit, choisissez le troisième onglet, “Inspecteur d’identité”. Il existe un en-tête nommé Custom Class . Donnez le nom de votre contrôleur de vue à cet endroit. Après cela, vous pouvez connecter les éléments au propriétaire du fichier.

entrer la description de l'image ici

Je pense que j’ai rencontré exactement cette situation lorsque j’ai créé une sous-classe UIViewController mais j’ai oublié de vérifier “avec .xib pour l’interface utilisateur” lorsque je l’ai fait. Plus tard, je suis retourné et j’ai créé le fichier .xib séparément.

Voici un moyen plus détaillé d’associer vos nouveaux UIViewController et .xib.

  1. Sélectionnez Propriétaire du fichier sous Espaces réservés dans le volet gauche de IB. Dans l’Inspecteur des propriétés (volet de droite de IB), sélectionnez le troisième onglet et éditez “Classe” sous “Classe personnalisée” pour être le nom de votre nouvelle sous-classe UIViewController.

  2. Puis, tout en maintenant la touche Ctrl enfoncée, cliquez avec le bouton droit de la souris sur Propriétaire du fichier dans le volet gauche et tracez une ligne vers votre vue de niveau supérieur dans la partie Objets du volet gauche. Sélectionnez la sortie ‘view’ et vous avez terminé.

Vous devriez maintenant pouvoir configurer d’autres points de vente et actions. Vous êtes prêt à instancier votre contrôleur de vue en code et à utiliser initWithNibName et votre nom de nib pour le charger.

Dans le contrôleur de vue, créez une sortie “vue” (UIView) et marquez-la comme IBOutlet. (Lorsque vous utilisez les parameters / valeurs par défaut corrects lors de la création des fichiers dans xcode, cette propriété doit déjà exister.) Dans Interface Builder, créez un lien entre la vue principale et la propriété / sortie du propriétaire du contrôleur / fichier de vue. Juste pour l’image complète: Lors de la création / allocation du contrôleur de vue, vous devez l’initialiser avec le fichier XIB approprié. C’est le moment même où l’object du contrôleur de vue est lié à la vue générée à partir du fichier XIB.

1) Tout d’abord, comme chacun dit, donnez le nom du contrôleur de vue dans la classe du propriétaire du fichier

2) Sélectionnez le propriétaire du fichier faites glisser une ligne à partir de là pour voir ce qui connecte les deux

3) Créez une instance de View controller et ajoutez-la à la fenêtre pour que l’extrait de code soit comme suit,

MyViewController *controller = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil]; 

4) Enfin, ajoutez la vue du contrôleur de vue sous-vue à window.TO faites que le codage soit comme suit,

 [window addSubview:[controller view]]; 

Essayez l’extrait suivant sur appdelegate

 - (void)applicationDidFinishLaunching:(UIApplication *)application { // Override point for customization after application launch [window makeKeyAndVisible]; MyViewController *controller = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil]; [window addSubview:[controller view]]; } 

5) Utilisez l’extrait suivant pour maximiser la taille de la vue à la fenêtre afin qu’aucun gape n’apparaisse

 [controller.view setFrame:[[UIScreen mainScreen] applicationFrame]]; 

Maintenant, vous verrez votre contrôleur de vue comme vous le souhaitiez …

J’espère que ça aide….

Oui, vous devez append la propriété view aux propriétaires de fichiers de ce contrôleur de vue à partir du générateur d’interface:

choisissez votre fileownr allez dans la fenêtre de l’inspecteur d’identité et changez le nom de la classe du propriétaire du fichier à votre fichier .h de vue, qui se connectera.