Partage
  • Partager sur Facebook
  • Partager sur Twitter

[iOS] Clavier uniquement numérique

Anonyme
    20 juillet 2012 à 14:22:28

    Bonjour,

    débutant dans l'apprentissage de l'objective-c et dans la manipulation de xCode, j'aurais besoin de votre aide afin d'afficher un clavier uniquement numérique avec un bouton pour pouvoir "abaisser" le clavier.

    Sur l'image suivante, vous pouvez observer le clavier "number pad"

    Image utilisateur


    Actuellement, pour que ce l'application fonctionne correctement, j'utilise le clavier "number and punctuations", mais j'aimerais parfaire ceci en utilisant le clavier de l'image ci-dessus, mais avec un moyen de le dissimuler une fois l'information entrée.

    Merci d'avance pour vos réponses :)
    • Partager sur Facebook
    • Partager sur Twitter
      20 juillet 2012 à 23:42:42

      Bonsoir,
      Tu as essayé toutes les possibilités de la propriété "Keyboard" de ton UITextField dans le storyBoard ^^ ?
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        20 juillet 2012 à 23:47:31

        Évidemment ! Il n'y a aucune solution "par défaut" pour afficher uniquement un clavier numérique, et avoir la possibilité de le faire disparaître, j'aimerais donc un peu d'aide pour pouvoir le réaliser moi même !
        • Partager sur Facebook
        • Partager sur Twitter
          20 juillet 2012 à 23:49:14

          Ah tu souhaites mettre un clavier sans qu'il y ai un UITextField?
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            20 juillet 2012 à 23:57:29

            Si si dans un UITextFIeld, mais dans le choix des keyboards il n'y a pas la possibilité de pouvoir mettre le clavier numérique avec un bouton pour le faire disparaître.
            • Partager sur Facebook
            • Partager sur Twitter
              21 juillet 2012 à 0:08:45

              Ah d'accord j'avais mal compris, tu peux mettre un bouton qui saffiche juste au dessus du clavier lorsque le clavier s'affiche qui donnera l'impression d'être collé au clavier, tu connect le bouton que tu as crées a une methode qui exécutera cette ligne:

              [textField resignFirstResponder]
              


              Ton bouton doit se cacher aussi lorsque tu caches le clavier donc ajoute aussi:
              button.hidden = YES;
              

              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                21 juillet 2012 à 11:10:32

                J'ai une petite question.

                J'ai donc crée un bouton, placé juste au dessus du clavier quand il s'affiche.

                Ensuite j'ai lié le bouton, j'écris :

                - (IBAction)valider:(id)sender {
                    [masse resignFirstResponder];
                }
                


                (le champ ou le clavier doit apparaître s'appelle "masse"), ensuite j'ai lié le bouton "valider" à l'action valider (qui va donc exécuté le code), mais le clavier ne se retire pas grâce à l'action de ce bouton.
                • Partager sur Facebook
                • Partager sur Twitter
                  21 juillet 2012 à 13:22:47

                  Oui et le bouton doit se cacher après le clavier, d'où la 2eme ligne que je t'ai dis d'ajouter, ça marche?
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    21 juillet 2012 à 13:31:14

                    J'ai pas encore essayer pour afficher/enlever le bouton s'il y a le clavier ou non, pour l'instant je crée le bouton sans me soucier de ça. Mais le problème vient du fait pour quand j'appui sur le bouton "valider", le clavier ne se retire pas.

                    Je débute, j'ai peut-être fait une erreur, alors je te réexplique ce que j'ai fais :


                    J'ai crée le bouton, et je l'ai lié dans le viewcontroller.h en tant qu'action sous le nom "valider"

                    j'ai donc dans le viewcontroller.h

                    - (IBAction)valider:(id)sender;
                    


                    Ensuite, je vais dans le .m, et je tape

                    - (IBAction)valider:(id)sender {
                        [masse resignFirstResponder];
                    }
                    


                    A savoir que j'ai bien un textfield appelé "masse", qui affiche un clavier.

                    Ensuite, je suis aller sur le bouton "valider", j'ai appuyer avec deux doigts, j'ai choisis "did end on exit", et je l'ai lié a l'action "valider" dans le viewcontroller.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      21 juillet 2012 à 13:41:29

                      Non c'est "touchUpInside" pas "didEndOnExit"
                      Quand tu dis 2 doigts tu parles du "controle+cliqué glissé" ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        21 juillet 2012 à 13:50:04

                        Non, le clique avec deux doigts faire apparaître un menu où l'on peut choisir les options tels que did end on exit ou bien touchupinside.

                        J'ai donc choisis touchupinside et le clavier s'enlève correctement après l'appui sur bouton.

                        Concernant la disparition du bouton, j'ai bien réussi à le faire disparaître après l'appuie sur le bouton "valider", mais concernant l'apparition, comment puis-je faire en sorte qu'il apparaisse en même temps que le clavier ?

                        EDIT

                        J'ai essayé quelque chose :

                        j'ai assigné le textfield "masse" comme action, et comme ça je pourrais exécuter l'affichage du bouton si le champ est sélectionné. Est-ce que cela fonctionnerais ou bien est-ce qu'on ne peux pas assigné un textfield comme action ?

                        je ne sais pas s'il existe une fonction tel que button.show = yes
                        • Partager sur Facebook
                        • Partager sur Twitter
                          21 juillet 2012 à 14:07:53

                          Tu crées une autre methode "afficherBouton" tu la relie en "touchUpInside" mais sur "mass" en gros lorsque l'utilisateur touchera ton UITextField le bouton apparait

                          x) non pas de button.show = YES mais plustot boutton,.hidden= NO
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            21 juillet 2012 à 14:13:08

                            Dans le .m j'ai

                            - (IBAction)afficherBouton:(id)sender {
                                valider.hidden = NO;
                            }
                            


                            Ensuite j'ai lié le textField "masse" à l'action "afficherBouton" par un Touch Up Inside, mais le bouton n'apparaît pas :/..
                            • Partager sur Facebook
                            • Partager sur Twitter
                              21 juillet 2012 à 14:20:14



                              :/ essaie "editingDidBegin" au lieu de "touchUpInside" si ça fonctionne pas essaie une autre, tu dois juste trouver la bonne
                              • Partager sur Facebook
                              • Partager sur Twitter
                              Anonyme
                                21 juillet 2012 à 14:23:11

                                ça fonctionne, merci beaucoup de ton aide ! je vais me renseigner sur les différents évènement comme "touchupinside" etc pour comprendre correctement ce qu'il font, encore merci !
                                • Partager sur Facebook
                                • Partager sur Twitter
                                Anonyme
                                  1 août 2012 à 20:30:25

                                  Bonsoir,

                                  Je repasse le sujet en non résolu car j'ai une question :

                                  Si on appui sur un "champ" depuis une page web sur un mobile, au dessus du clavier, on a une barre avec "précédent, suivant, ok" qui d'affiche. C'est la même pour tout les champ visible depuis safari mobile sur iOS, j'en déduis donc qu'il y a une manière "simple" de faire de même pour une application. Quelqu'un en saurait-il plus ?
                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  [iOS] Clavier uniquement numérique

                                  × 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