web-dev-qa-db-fra.com

Ajout de storyboard au projet existant

J'ai créé un projet sans support de storyboards, mais plus tard, j'ai ajouté un storyboard. Le scénarimage fonctionne bien et je vois son contenu lors du chargement de l'application dans l'émulateur.

Ensuite, j'ai créé un contrôleur de vue (UIViewController) et mon problème est que je ne peux lier aucun contrôle du storyboard à mon contrôleur.

Ma question est donc de savoir comment connecter mon contrôleur avec le storyboard.

22
glebreutov

Ces étapes exactes (j'utilise XCode 4.5 et iOS 6.0):

  1. Ajouter un nouveau storyboard au projet par Fichier-> Nouveau-> Fichier ...-> Userinterface-> storyboard
  2. Accédez au résumé du projet, sélectionnez MainStoryboard, puis sélectionnez le nom du storyboard que vous venez de créer.
  3. À partir du fichier AppDelegate.m de la méthode didFinishLaunchingWithOptions, commentez tout sauf la dernière instruction qui renvoie YES.

C'est tout. Vous devriez maintenant voir votre vue initiale lorsque vous lancez le projet.

38
OSXMonk

Pour XCode 6 et iOS8 beta2:

  1. Créez un fichier Storyboard (appelons-le Main.storyboard). Choisissez un iPhone ou un iPad pour le type d'appareil.
  2. Dans le fichier Main.storyboard vierge, faites glisser un UIViewController de la bibliothèque d'objets.
  3. Si le scénario est destiné à être utilisé comme scénario universel, passez à l'inspecteur de fichier (dans la section Utilitaires à droite) et cochez la case "Utiliser les classes de taille".
  4. Sélectionnez le contrôleur de vue dans le story-board et passez à l'inspecteur d'identité (dans la section Utilitaires à droite), puis tapez dans le champ "Classe" le nom de votre contrôleur de vue.
  5. Recherchez le fichier "info.plist" dans le dossier "Fichiers de support" situé à gauche dans la section Navigateur.
  6. Ajoutez une ligne en cliquant sur le signe '+' situé à droite de la touche "Liste des propriétés de l'information". 
  7. Sélectionnez la clé "Nom de base du fichier de storyboard" et tapez le nom de votre fichier de storyboard dans le champ "Valeur" (dans ce cas, il s'appellera "Principal").
  8. Dans AppDelegate.m/AppDelegate.Swift, dans la méthode/func "application: didFinishLaunchingWithOptions:" Supprimez tout le code sauf "return YES" (pour Objective-C) ou "return true" pour Swift.
25
Raz

J'ai trouvé réponse à ma propre question. C'est très simple: je devrais ouvrir le storyboard, sélectionner le contrôleur de vue (sa représentation visuelle sur le storyboard), puis accéder à l'inspecteur d'identité et remplacer la classe UIViewController par votre classe de contrôleur.

9
glebreutov

Avez-vous vérifié si les contrôles que vous souhaitez connecter ont un IBOutlet ou IBAction correspondant dans le contrôleur? Ensuite, vous devriez pouvoir les connecter comme d’habitude.

1
konturgestaltung
  1. Ajouter Main.storyboard

  2. Ajouter une ligne dans Info.plist> Nom principal de la base de fichier du storyboard: Main

  3. Modifier le code:

  • Application (BOOL): application (UIApplication *) application didFinishLaunchingWithOptions: (NSDictionary *) launchOptions { // Point de substitution pour la personnalisation après le lancement de l'application. retourner OUI; }
1
Alexander

Ne pas oublier de vérifier le principal.m:

#import <UIKit/UIKit.h>
#import "YourAppDelegate.h"

int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([YourAppDelegate class]));
    }
}
0
Valeriy Kliuk