web-dev-qa-db-fra.com

Application Xcode à onglets - Ajout d'un nouvel onglet

Je travaille avec Xcode 4.2. J'ai commencé à travailler avec l'application à onglets et je souhaite maintenant ajouter les troisième et quatrième tabulations au scénario sur mon application. Comment puis-je l'ajouter? J'essaie de l'utiliser mais je ne peux pas. :( Je n'ai pas eu de bons tutoriels pour ça.

Est-ce que quelqu'un a une idée de comment faire cela?

Je suis passé par ce lien , mais je dois ajouter 2 vues tabulées supplémentaires à la première vue.

Mettre à jour:

Il suffit de créer Application à onglets et ils essaient d'ajouter un ou deux autres onglets. J'essaye encore. Mais je ne peux pas.

24
Gayan

Ajoutez simplement deux contrôleurs de vue supplémentaires à votre projet, puis contrôlez le glissement du contrôleur de la barre d'onglets vers les contrôleurs de vue pour leur faire la suite. Assurez-vous de sélectionner "Relationship-viewControllers" lorsque la liste apparaît. Les onglets seront automatiquement ajoutés.

Vous devez aller dans le menu et cliquer sur "Nouveau fichier", puis sur la classe Objective-C et enfin vous assurer de sélectionner la sous-classe UIViewController. Nommez-le, puis les fichiers .h et .m seront ajoutés. Maintenant, dans votre storyboard, assurez-vous de changer la classe de chaque onglet avec le nom de votre fichier. C'est tout.

56
Jamie

Pour les apprenants visuels:

Créer un nouveau projet d'application à onglets

 enter image description here

Ce qui vous donnera un storyboard comme celui-ci:

 enter image description here

Ajouter un nouveau contrôleur de vue

 enter image description here

Ajouter un élément de barre d'onglets

 enter image description here

Se connecter au contrôleur de vue par onglet

Faites glisser le contrôleur de vue à onglet vers le nouveau contrôleur de vue pour afficher le menu.

 enter image description here

C'est tout. Regardez la vidéo suivante pour plus de détails.

26
Suragch

J'utilise Xcode 4.3.3 et j'ai pu ajouter des onglets supplémentaires en procédant comme suit:

  1. Créer une application à onglets.
  2. Assurez-vous que les utilitaires est ouvert. Choisissez View Controller parmi les objets et faites-le glisser dans * .storyboard.
  3. Cliquez et maintenez la touche de contrôle. Cliquez sur l'onglet Contrôleur et déplacez le curseur sur le nouveau contrôleur de vue que vous avez ajouté. Lorsque vous relâchez le bouton de la souris et la touche de commande, vous verrez apparaître une fenêtre popover indiquant 4 options: - Relation - Afficher le contrôleur, Push, Modal et Personnalisé.
  4. Si vous sélectionnez l'option Relations - Afficher le contrôleur, Xcode ajoute automatiquement un autre onglet et connecte le contrôleur d'onglets à la fenêtre que vous avez ajoutée.

A partir de là, il est assez simple de modifier le texte/les images de l'onglet.

9
Rutvij Kotecha

Pour ajouter par programme un troisième contrôleur de vue à une application iOS à onglets standard: 

  1. Allez à File -> New -> File, sélectionnez la classe Objective-C, entrez "ThirdViewController" pour la classe, sélectionnez "UIViewController" sous la sous-classe de. Cochez "Avec XIB pour l'interface utilisateur".

  2. Accédez au nouveau fichier XIB et ajoutez une étiquette ou d'autres objets de votre choix.

  3. Dans AppDelegate.m, importez votre nouvelle classe en ajoutant #import "ThirdViewController.h" aux importations de fichiers.

  4. Toujours dans AppDelegate.m, dans la méthode didFinishLaunchingWithOptions, créez un objet UIViewController pour la troisième vue (suivez le format des deux premiers) et ajoutez le troisième contrôleur de vue aux deux lignes de tabbarcontroller suivantes: self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, viewController3, nil];.

  5. Enregistrez et exécutez votre projet.

La méthode didFinishLaunchingWithOptions devrait ressembler à ceci lorsque vous avez terminé:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    UIViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
    UIViewController *viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
    UIViewController *viewController3 = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController" bundle:nil];
    self.tabBarController = [[UITabBarController alloc] init];
    self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, viewController3, nil];
    self.window.rootViewController = self.tabBarController;
    [self.window makeKeyAndVisible];
    return YES;
}
6
Kyle Clegg

Ce n’est pas ce que vous avez demandé, mais lors de la création d’une nouvelle application, vous pouvez créer tous les contrôleurs de vue auxquels vous souhaitez accéder à partir d’un contrôleur de barre d’onglet, puis les sélectionner tous et sélectionner «Intégrer dans ... Contrôleur de barre d’onglet» dans le menu déroulant. Menu 'Editeur'.

2
Steve Ives

Ce que je comprends, selon ce que je donne une réponse . Il devrait y avoir "contrôleur de barre d'onglets" Lorsque vous extrayez ce "contrôleur de barre d'onglets", vous trouverez le contrôleur de navigation . ce contrôleur de barre d'onglets.

0
Play cool

Si vous cliquez sur la petite barre d’entête où vous voyez les trois icônes:

 enter image description here

Vous pouvez ensuite copier et coller non seulement pour générer un nouveau ViewContoller dans le StoryBoard, mais aussi capturer toute la mise en page automatique que vous avez pu configurer laborieusement pour ce ViewController original. C’est le SEUL moyen de capturer les paramètres de mise en page automatique que je connais.

En fin de compte, vous pouvez créer des modèles StoryBoard de cette manière et les placer simplement sur le disque. J'ai un ViewController "entrée de connexion" que je copie et colle de cette manière pour mes applications par exemple.

Et pour les nouveaux employés, InterfaceBuilder casse bon nombre des paradigmes de l'application de dessin d'objet et est incohérent en lui-même. Objets dans un contrôleur de vue peut être cliqué et traité comme prévu; avoir des poignées de polygone pour le redimensionnement, etc. comme prévu. Les ViewControllers ne répondent pas à un click-n-drag. Au lieu de cela, vous devez cliquer-glisser sur l'en-tête pour le faire glisser.

0
William Cerniuk