• 8 heures
  • Facile

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 24/05/2022

Modifiez votre label grâce à la documentation

Nous allons maintenant écrire la logique de notre action pour modifier la citation !

Un peu de stratégie…

Pour que nous soyons tous d'accord, revoyons ce que nous allons faire. Le but est de construire des phrases du type : "Tu es le Steve Jobs de la raclette party". Cette phrase est découpée en trois parties :

  1. Tu es

  2. le Steve Jobs

  3. de la raclette party

La partie 1 est fixe, mais les parties 2 et 3 doivent changer à chaque appui sur le bouton.

En image, voici ce que ça donne :

Nos deux menus déroulants mis à côté de l'autre.  Tu es : le Steve Jobs, ou le Zinedine Zidane, ou la Madonna, ou le Karl Lagerfeld ou la Scarlett Johansson  du dancefloor, ou du barbecue, ou de la surprise ratée, ou des blagues lourdes, ou de la rac
N'oublie pas les cornichons dans ta keynote !

À chaque appui sur le bouton, on choisit aléatoirement un élément dans chaque tableau pour composer une phrase unique.

Pour y arriver, nous allons procéder en quatre étapes :

  1. Nous allons apprendre à modifier le texte du label.

  2. Nous allons créer nos tableaux.

  3. Nous allons sélectionner un élément aléatoire dans chaque tableau.

  4. Nous allons les combiner pour créer notre phrase.

Ça vous paraît faisable ?

Non.

Eh bien, on va le faire quand même !

Changeons le texte du label grâce à la documentation

On commence par le plus simple.

Le label, comme vous l'avez vu en le créant dans l'interface, est un objet qui a des propriétés. Pour rappel, voici une partie de ses propriétés :

Propriétés du label : Text, Color, Font, Alignment, Lines, Behavior
Propriétés du label

Nous pouvons accéder à toutes ses propriétés dans le code ! Pour cela, rien de plus simple : il suffit d'écrire le nom de notre label suivi d'un point . puis du nom de la propriété.

Cela donne :

quoteLabel.nomDeLaPropriété

OK, mais je ne les connais pas les noms des propriétés du label !

C'est bien vrai. Mais il existe plusieurs façons de les trouver et je vais vous les montrer.

1. Avec Interface Builder

Si l’on reprend l'impression d'écran juste au-dessus, on constate que, par exemple, la propriété qui nous intéresse (celle qui permet de modifier le texte) a l'air de s'appeler  Text  . Idem pour le nombre de lignes, la couleur, etc. C'est un premier indice.

2. Avec l'autocompletion

L'autocompleki ?

L'autocompletion, c'est la capacité d'un logiciel à vous suggérer la fin de votre mot ou de votre phrase au fur et à mesure que vous l'écrivez. Vous avez cela partout aujourd'hui : quand vous écrivez du texte avec votre iPhone, quand Google vous suggère des recherches, etc.

Dans la barre de recherche Google, on tape opencl et on voit openclassroom java, open classroom c, openclassroom python apparaître en suggestion
opencl…?

Xcode est capable de faire la même chose.

Avec notre première approche, nous supposons maintenant que la propriété qui nous intéresse se nomme   text. Essayons de taper cela :

en tapant quotelabel.t, Xcode propose text, transform, textColor, textAlignment etc.
L'autocompletion dans Xccode

Dès la première lettre tapée, Xcode nous suggère les propriétés qui commencent par la lettre t ou qui la contiennent. Cela nous confirme tout de suite que  text  est bien une propriété du label. Et la description en bas de la pop-up nous confirme sa fonction : "Le texte affiché par le label".

3. L'inspection

Une fonctionnalité très pratique de Xcode nous permet d'avoir plus d'informations sur le code à l'écran. Pour cela, gardez la touche alt (ou option) enfoncée et cliquez sur le mot  text  par exemple.

En cliquant sur le mot text une pop-up d'information apparaît :  Elle contient une déclaration, une Description, SDKS, Declared in et Property Reference
Ça peut être utile !

Xcode vous montre la documentation relative à la propriété  text. Cela nous donne plus d'informations sur la propriété et nous permet ici de confirmer que c'est bien la propriété que nous recherchons.

4. La documentation

La documentation, c'est la vie ! Pour y accéder, on utilise la même manipulation avec la touche alt (ou option) enfoncée. Par exemple, ici je cherche les propriétés de l'objet  quoteLabel:

une bulle apparaît sour quotelabel.text. Il est écrit : Declaration weak var quoteLabel : UILabel ! Declared In ViewController.swift
En cliquant sur le mot UILabel, vous allez accéder à la documentation des labels
Ici, vous trouvez une longue description du label et, en descendant, la liste de ses propriétés organisée clairement par usage.
Description écrite de UILabel et Overview
Dans la section Symbols, on trouve Accessing the Text Attributes et Sizing the Label's Text avec la description d'un certain nombre de variables dans chacune de ces sous-sections
Cette liste vous permet de consulter les propriétés spécifiques de l'objet label et de retrouver celle qu'il vous faut. En cliquant sur l'une d'entre elles, vous retrouvez le détail de sa description.

5. Google

Vous avez beau avoir cherché, vous n'avez pas trouvé ! Au risque d'enfoncer des portes ouvertes, je me permets de vous rappeler que vous pouvez utiliser les moteurs de recherche. La communauté des développeurs étant (par déformation professionnelle ) très active sur le web, vous trouverez votre réponse.

Vous pouvez utiliser en particulier le site Stack Overflow, particulièrement incontournable pour sa communauté très active et le très grand nombre de réponses présentes dans la base. 

Modifions notre label

Nous avons fait le plus dur, trouver le nom de la propriété. Maintenant, il ne nous reste plus qu'à lui assigner une nouvelle valeur :

quoteLabel.text = "Le texte du label est modifié !"

Vous pouvez lancer l'application avec le bouton Run (cmd+r). Essayez de cliquer sur le bouton "ET MOI ?" et vous devriez obtenir ceci : 

Notre interface iPhone Teki : il est écrit Le texte du label est modifié ! et le bouton Et MOI ? est grisé
Félicitations pour cette première étape !

En résumé

Pour chercher le nom d'une propriété, vous pouvez utiliser :

  • Interface Builder, en cherchant dans l'inspecteur d'attributs ;

  • L'autocompletion, qui vous suggère des propriétés au fur et à mesure que vous écrivez leur nom ;

  • L'inspection, en cliquant sur un mot avec la touche alt (ou option) enfoncée ;

  • En accédant à la documentation :

    • Grâce à l'inspection

    • Menu Window > Developer Documentation

    • Raccourci shift + cmd + 0

  • En cherchant sur Google (de préférenceen anglais). 

Dans le prochain chapitre, vous allez apprendre à créer et utiliser des tableaux !

Exemple de certificat de réussite
Exemple de certificat de réussite