Partage
  • Partager sur Facebook
  • Partager sur Twitter

MOOC Gérez la navigation et les formulaires en iOS

UIFont

    15 décembre 2018 à 14:19:17

    Bonjour à tous,

    Je n'arrive pas à créer une constante pour définir la police d'un projet, comme décrit dans le chapitre sur les extensions.

    Le code de la vidéo et celui de la transcription de la vidéo diffèrent.

    Dans la vidéo :

    import UIKit
    extension UIFont {
        public class func myCustomFont(ofSize size: CGFloat) -> UIFont {
            return UIFont(name: "MyCustomFont", size: size)
        }
    }
    UIFont.myCustomFont(ofSize: 12) 

    Dans la transcription du cours :

    import UIKit
    extension UIFont {
        public class func myCustomFont(ofSize size: CGFloat) -> UIFont {
            return UIFont(name: "MyCustomFont", size: 12)!
        }
    }
    UIFont.myCustomFont(ofSize: 12) 

    Ces deux codes renvoient des erreurs dans le Playground, j’ai essayé ce code qui me semble plus logique, mais il ne fonctionne pas non plus :

    import UIKit
    extension UIFont {
        public class func myCustomFont(ofSize size: CGFloat) -> UIFont {
            return UIFont(name: "MyCustomFont", size: size)!
        }
    }
    UIFont.myCustomFont(ofSize: 12) 

    L'erreur affichée par le Playground est la suivante :

     error: Execution was interrupted, reason: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0).

    Est-ce que j'ai des erreurs parce que je n'ai pas de police intitulée "MyCustomFont" sur mon Mac, ou est-ce une erreur de code ?

    Merci pour votre aide.


    -
    Edité par VincentCaronnet 15 décembre 2018 à 14:21:06

    • Partager sur Facebook
    • Partager sur Twitter
      15 décembre 2018 à 19:46:36

      Salut,

      Effectivement le problème c'est surement "MyCustomFont" qui semble inconnu

      • Partager sur Facebook
      • Partager sur Twitter
        15 décembre 2018 à 20:48:56

        Merci Geda pour ta réponse. En revoyant la vidéo je me suis rendu compte qu'en fait cette partie du cours et la partie qui suit sur les notifications concerne du code qui est écrit dans le Playground mais qui n'est pas exécuté par celui-ci, sinon il planterait également dans la vidéo.

        C'est du code destiné à être exécuté dans le développement d'une vraie appli, pas dans le Playground.

        • Partager sur Facebook
        • Partager sur Twitter
          16 décembre 2018 à 10:01:26

          Ça me semble être une excellente idée d’ecrire Du code qu’on ne peut pas tester dans un cours... </sarcasme>
          • Partager sur Facebook
          • Partager sur Twitter
            6 novembre 2019 à 14:21:00

            Bonjour, petit déterrage pour une question je ne comprends pas pourquoi dans Xcode et dans le dossier de l'appli du cours ce n'est pas répertorié au même endroit ? Et quand je le déplace dans le dossier pour le mettre au bon endroit il y a une erreur.

            • Partager sur Facebook
            • Partager sur Twitter
              6 novembre 2019 à 15:17:29

              La hiérarchie Xcode n’est pas forcément la même que celle du Finder. Ce sont des liens symboliques vers le fichier du Finder. A priori tu pourrais mettre 4 fichiers dans 4 dossier différent de ton mac (qui n’ont rien à voir avec le dossier du projet) et quand même avoir les fichiers dans le projet.

              Si tu modifies l’emplacement des fichiers dans le Finder il faut re-expliquer à Xcode ou ils sont

              En général on ne touche jamais au Finder. Au change juste l’emplacement dans Xcode qui s’occupe du reste. L’inverse ne fonctionnant pas.

              • Partager sur Facebook
              • Partager sur Twitter
                6 novembre 2019 à 15:26:32

                D'accord donc du coup j'y touche pas.

                Encore une question, je cherche depuis 20 min pour modifier la couleur du texte d'un Segmented Control mais je trouve pas.

                J'aimerai le mettre en transparent si possible :

                • Partager sur Facebook
                • Partager sur Twitter
                  8 novembre 2019 à 16:43:26

                  Merci je vais jeter un coup d'oeil.

                  Du coup j'en suis ici au cours, et à la fin de celui-ci on doit ajouter ce morceau de code : 

                      func textFieldShouldReturn(_ textField:
                          UITextField) -> Bool {
                          textField.resignFirstResponder()
                          return true 
                      }

                  C'est sensé faire disparaitre le champ de texte lorsqu'on appuie sur la sur la touche retour mais je vois pas la différence avec ou sans ce bout de code.



                  • Partager sur Facebook
                  • Partager sur Twitter
                    8 novembre 2019 à 20:39:16

                    Tu rentres dans la méthode ? (Met un breakpoint). Si c’est pas le cas c’est que tu as sûrement oublié de set le delegate du textfield.

                    • Partager sur Facebook
                    • Partager sur Twitter

                    MOOC Gérez la navigation et les formulaires en iOS

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    • Editeur
                    • Markdown