2010-10-11 21 views
0

Est-il possible d'aligner du texte à plusieurs tailles en limitant le centre (de chaque taille) à la ligne de base?Aligner le centre vertical du texte sur plusieurs tailles au lieu de la ligne de base avec le texte principal dans iOS

J'ai essayé la fonctionnalité CTRunDelegate, mais cela ne fonctionne pas. C'était possible avec CTRunDelegateCallbacks.getAscent et CTRunDelegateCallbacks.getDescent, mais la fonctionnalité ne fonctionne pas. Seulement CTRunDelegateCallbacks.getWidth travaillé. Je parviens à mettre en page du texte, des images et des objets de tailles multiples, mais seul l'alignement de ligne de base est pris en charge.

Répondre

0

C'était encore impossible maintenant. Je suis en ce qui concerne ce n'est pas possible pour la version actuelle de Core Text.

2

Les méthodes de délégué d'exécution getAscent et getDescent sont, en fait, appelées (il fonctionne dans mon propre code). Bien sûr, il est logique que cela ne change pas la ligne de base (et change donc la façon dont le texte est affiché par rapport à un autre texte sur la ligne), car la montée et la descente sont relatives à la ligne de base.

Il serait pratique d'avoir un getBaselineOffset mais, malheureusement, cela n'existe pas.

Ma suggestion consiste à utiliser les rappels de délégué d'exécution pour réserver l'espace pour votre texte différemment référencé, puis dans un deuxième passage, dessiner l'autre texte avec la ligne de base différente.