LaunchScreen.xib n'affiche pas ma police personnalisée

94

J'utilise une étiquette pour afficher du texte avec ma police personnalisée sur LaunchScreen.xib. Ma police personnalisée s'affiche bien dans Interface Builder, mais lorsque je la teste sur mon iPhone, la police revient à la police par défaut.

Je ne sais pas comment résoudre ce problème ou s'il s'agit d'un bogue.

utilisateur3781632
la source
3
Je suppose que je ne suis pas surpris. L'écran de lancement est affiché au moment du lancement - en fait, avant le lancement - donc la police n'a probablement pas encore été chargée.
mat
On dirait qu'il n'y a aucun moyen de le réparer alors? Serais-je simplement mieux d'utiliser une image de lancement?
user3781632
3
@NobodyNada Le problème avec ce "doublon" est qu'il n'y a pas de réponse satisfaisante.
mat
2
Je voudrais simplement omettre l'élément contenant le texte. Les images de lancement sont censées être minimales - juste le contour nu de la structure, qui est rempli lorsque l'interface réelle apparaît.
mat

Réponses:

92

Il n'y a pas de grande surprise ici. L'écran de lancement est affiché au moment du lancement - en fait, avant le lancement - donc la police n'a probablement pas encore été chargée.

Vous pouvez signaler un bug si vous pensez avoir un cas d'utilisation convaincant. Mais je ne pense pas vraiment que vous le faites. Pourquoi montrez - vous tout texte dans l' image de votre lancement? Cela devrait être beaucoup plus simple que cela - juste assez pour donner la structure de l'interface d'ouverture, qui sera remplie lorsque l'interface d'ouverture apparaîtra. Un écran "vide" avec la même couleur d'arrière-plan que la couleur d'arrière-plan du contrôleur de vue initial serait suffisant. Votre objectif est simplement de fournir une alternative à la noirceur.

mat
la source
31
L'idée était d'avoir le titre de mon application sur cet écran avec une police cohérente dans toute l'application. J'ai fini par ajouter une UIImage de mon titre au xib à la place.
user3781632
14
En outre, "LaunchScreen.xib" par défaut d'Apple a le nom de l'application dans un ol 'UILabel ordinaire ... Le moins que nous puissions faire est de sélectionner une police .... :)
Alex Zak
3
@matt Vous avez raison, je voulais dire sélectionner une police personnalisée ... Mais je ne suis pas sûr que vous soyez "censé" la supprimer, nous avons dû pousser une application très rapidement et avons oublié de mettre à jour l'écran de lancement, et Apple approuvé néanmoins ...
Alex Zak
1
Faites ce que vous voulez avec votre application. Les directives Apple sont très explicites sur la façon dont les écrans de démarrage devraient être, c'est à vous de les respecter ou non.
Antzi
10
Je suis étonné qu'il n'y ait aucun argument contre l'affichage du nom de l'entreprise dans leur écran de lancement.
Leon
6

Une solution de contournement rapide consiste à utiliser un UIImageViewet à avoir votre texte comme UIImagedessus, littéralement une image de votre texte comme .png/ .jpegou similaire.

Remarque: Cela peut prendre un certain temps avant que vous puissiez voir l'image, j'ai dû nettoyer le dossier de construction et réinstaller l'application plusieurs fois afin de voir l'image.

Une autre note: si vous souhaitez prendre en charge plusieurs langues avec des textes différents, vous devrez avoir des images différentes pour chaque langue en utilisant cette approche.

Gustavo Vollbrecht
la source