12
votes

Polices embarquées dans iOS: Pourquoi ne sont-ils pas centrés correctement sur l'axe des Y?

J'ai incorporé quelques polices de mon application iOS et je constate qu'ils ne sont pas centrés correctement dans les étiquettes et les boutons, ils sont trop élevés sur l'axe Y, y a-t-il une solution pour cela? Au début, je pensais que c'était juste un fichier de police bon marché que j'utilisais, mais je l'ai essayé (juste pour voir) avec une police Adobe et il a toujours le problème.


3 commentaires

Je l'ai remarqué aussi. Jamais eu le temps d'examiner cependant. +1!


Avez-vous vérifié si votre problème n'est pas que vous n'utilisez que des lettres majuscules et que les étiquettes sont en train d'être centrées comme si elles avaient des lettres majuscules et minuscules dessus (il s'agit donc d'un espace ci-dessous pour des lettres comme des minuscules P et Q)?


J'utilise des lettres majuscules et minuscules, ce qui n'est probablement pas le problème.


4 Réponses :


6
votes

la solution (a?) Un de mes amis souligné est d'utiliser la propriété contentErtInsets du bouton, je l'ai définie sur: xxx

pour bump du texte vers le bas de 10 pixels et maintenant Le texte est centré. Woot.


1 commentaires

C'est vrai, heureusement pour une étiquette, vous pouvez simplement ajuster l'emplacement de l'étiquette, pour les boutons, vous êtes en nature une liaison :)



0
votes

J'ai trop lutté avec ça.

Selon la situation, j'utilise différentes solutions:

  • Utilisation d'embargons lorsque l'élément en question prend en charge
  • Remplacement de l'étiquette en question avec une vue, qui contient une autre étiquette comme sous-vue. Je déplace ensuite cette nouvelle étiquette dans sa superview jusqu'à ce qu'elle soit centrée. Cela fonctionne avec des barres de titres et similaires.

    Ce que je n'ai pas encore essayé est le sous-classement Uilabel (ni même mieux: écrire une catégorie sur elle) pour inclure une solution.

    Peut-être que je vais écrire un rapport de bogue également.

    Je vous tiendrai au courant de cela!


0 commentaires


0
votes

Le problème de centrage ne se produit que dans les Uilabels. Uitextviews fonctionnent correctement. Uibutton a un uilabel à l'intérieur, et donc, a le même problème.

Pour le réparer, vous pouvez corriger votre position de police avec un outil comme Créateur de polices. Dans mon cas, nous avons dû le corriger avec -200. De cette façon, vous pouvez utiliser l'Uilabel comme vous le ferez normalement, pas de sous-classement ni de catégories supplémentaires.

lien de téléchargement de créateur de police de police: http://www.high-logic.com/fontcreator.html


2 commentaires

Pourquoi devrions-nous «corriger» une police correcte? C'est une pomme qui l'affiche mal ... Après la correction, la police sera décalée dans l'axe Y dans Uitextviews ... jusqu'à ce que Apple corrige cela, nous devons trouver une meilleure solution que je suppose ..


Eh bien, je devais continuer, alors je viens de corriger la police. Je suis d'accord Apple doit le réparer. Mais cela peut prendre des années ... et je ne connais pas non plus une meilleure solution.