Partage
  • Partager sur Facebook
  • Partager sur Twitter

[iOS] Ecran de login

Sujet résolu
    11 mars 2013 à 10:21:06

    Hello à tous,

    Je suis actuellement en train de réaliser une application pour iPhone qui doit se connecter sur un serveur WEB.

    J'ai réaliser une UIViewController avec un login/password et un bouton de connexion. J'ai ensuite un TabBarController relié par un segue (segueConnection) à mon ViewController. Au clique du bouton, j'ai la méthode suivante qui est appelée:

    -(BOOL)connectWithLogin:(NSString *)userLogin andPassword:(NSString *)userPassword


    Et qui fait le check sur mon serveur WEB pour l'authentification. Jusque là, tout va bien.

    Comment faire dans ma méthode pour qu'il switche sur le TabBarController ?

    Merci de votre aide

    • Partager sur Facebook
    • Partager sur Twitter
      11 mars 2013 à 20:04:44

      Bonsoir, 

      j'avoue ne jamais avoir essayer mais je tenterais quelque chose comme ça :

      TabBarController *monTBC = [TabBarController alloc]init];
      [self.view addSubView:monTBC.view];



      • Partager sur Facebook
      • Partager sur Twitter
        13 mars 2013 à 15:57:24

        Bonjour,

        Comme tu as relié tes 2 vues par un segue, autant l'utiliser!

        Ajoute d'abord un identifiant à ton segue en le sélectionnant, puis en remplissant le champs "identitifier" (dans IB).

        Ensuite, ajoute ce code :

        [self performSegueWithIdentifier:@"Mon identifier"];
        Voilà :)
        • Partager sur Facebook
        • Partager sur Twitter
          14 mars 2013 à 7:47:58

          Hello,

          Sur le clique du bouton de connexion, j'effectue le

          [self performSegueWithIdentifier:@"connection"];

          et ça marche sans soucis.

          Maintenant, je souhaite faire un login automatique au lancement de l'application. Je stock donc le user et le password grâce à NSUserDefaults et au lancement de l'app, je prérempli les champs avec les valeurs de l'utilisateur.
          Je le fais dans le viewDidLoad et si j'ai des valeurs, je simule un click sur le bouton de connexion grâce à:

          [self touchUpConnection]

          Mais, là, j'ai un warning au lancement de l'application:

          Warning: Attempt to present <UITabBarController> on <ConnecionViewController> whose view is not in the windo hierarhy!

          Car mon UiTabBarController n'est pas encore crée ?!?

          Comment remédier au problème?


          • Partager sur Facebook
          • Partager sur Twitter
            14 mars 2013 à 12:02:25

            Bpnjour,

            Google est ton ami. Tout simplement, met ta méthode dans viewDidAppear:. ;)

            • Partager sur Facebook
            • Partager sur Twitter
              14 mars 2013 à 16:05:45

              Finalement, j'ai fait ceci:

              UIStoryboard *storyBorad = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
              UITabBarController *tabBarController = [storyboard instantiateViewControllerWithIdentifier:@"TabBarController"];
              [[[[UIApplication sharedApplication] delegate] window] setRootViewController:tabBarViewController];



              Et ça marche impect.


              Merci quand même à tous les intervenants :)

              -
              Edité par Løcki 14 mars 2013 à 16:06:06

              • Partager sur Facebook
              • Partager sur Twitter

              [iOS] Ecran de login

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown