Bonjour à tous,
À partir de l’appli Bloc Notes de Maxime, j’ai voulu mettre le texte du label en italique. J’ai trouvé cette solution :
self.label.font = UIFont.italicSystemFont(ofSize: self.label.font.pointSize)
En cliquant sur l’aide de UIFont
, j’ai trouvé une référence à preferredFont(forTextStyle:)
. Mais l’aide précise que preferredFont(forTextStyle:)
n’est accessible qu’en Objective-C.
J’ai lu à plusieurs reprises que Swift et Objective-C pouvaient cohabiter dans un même projet. Y a-t-il un moyen simple de faire appel à preferredFont(forTextStyle:) dans un projet à la création duquel on a indiqué Swift comme langage ?
??? T’as lu ça où ?
Etant donné que les UIquelqueChose ne dépendent pas du langage de programmation, mais de l’API UIKit, il serait plus qu’étonnant que cela ne fonctionne pas en Swift.
D’ailleurs, il n’y a rien d’indiqué de tel dans la documentation Apple :
https://developer.apple.com/documentation/uikit/uifont/1771762-preferredfont
Le moyen le plus simple de vérifier, c’est de commencer à taper le nom de la fonction dans Xcode, pour voir ce que le système de complétion vas afficher. Et … oh … surprise :
Mauvaise interprétation de ma part : quand on affiche l’aide rapide associée à « UIFont » :
et qu’on clique ensuite sur le lien vers preferredFont(forTextStyle:), une nouvelle fenêtre apparaît :
Le fait que en-dessous de « Language », Swift soit en noir et Objective-C en bleu m’a fait croire, à tort, que preferredFont n’était disponible que pour Objective-C.
Merci pour ta réponse, qui a eu le mérite de me faire comprendre que le bleu correspond à un lien, que la doc est commune aux 2 langages, et que les liens vers Swift ou Objective-C permettent de basculer d’un langage à l’autre.
Cela m’évitera de nombreuses pertes de temps dans les jours et semaines à venir
La doc Apple est parfois obscure.
Au bout d’un moment, on doit s’y faire, enfin j’espère !