Alignements des NSTextField
Paisible.fr
Membre
Bonjour,
J'ai des NSTextFieds de deux sortes dans mon application et j'ai des petites questions par rapport à la mise en forme de ceux-ci.
1) Des horizontaux. Le problème c'est que mon NSTextField à une certaine hauteur et que le texte se retrouve tout en haut. Moi ce que j'aimerais c'est qu'il se situe au centre. Comment faire ?
2) Des verticaux. Quasiment le même probléme... J'ai résolu une partie de l'affichage en affichant caractére par caractère avec un retour chariot (\n) entre chaque lettre. Mais pareil le texte se retrouve tout en haut et il me le faudrait vers le bas.
J'ai des NSTextFieds de deux sortes dans mon application et j'ai des petites questions par rapport à la mise en forme de ceux-ci.
1) Des horizontaux. Le problème c'est que mon NSTextField à une certaine hauteur et que le texte se retrouve tout en haut. Moi ce que j'aimerais c'est qu'il se situe au centre. Comment faire ?
2) Des verticaux. Quasiment le même probléme... J'ai résolu une partie de l'affichage en affichant caractére par caractère avec un retour chariot (\n) entre chaque lettre. Mais pareil le texte se retrouve tout en haut et il me le faudrait vers le bas.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Effectivement, ce sera plus simple avec une copie d'écran je pense.
La voici :
[img]http://[/img]
C'est donc à toi d'implémenter ça (par sous classage de NSTextFieldCell). Mais c'est coton à faire (car il faut connaitre la taille du "rectangle" dans lequel le texte s'affiche idéalement, et c'est un boulot assez hard).
Sinon, il y a peut être d'autres trucs à faire, mais il faut savoir pourquoi tu as besoin d'avoir des textFields verticalement centrés.
1) oui c'est chiant
2) oui j'ai vraiment besoin de faire cet affichage de la sorte
3) j'étais en train de réfléchir à une solution similaire en calculant la hauteur et la largeur du texte pour le positionner au bon endroit
Bon allez... voici ce que j'ai réussi à faire :
Et le code source pourri (qui est surement à améliorer) ci-joint ds le post. La classe c'est "VerticalField"
Il te suffit de changer l'origin.y lorsque je dessine le caractère pour avoir un alignement vers le bas.
Il suffit de séparer les caractere par un "\n"
Il me faut la même chose mais alignés en bas.
Je pense que je vais y arriver, faut juste que me penche dessus et que je prenne un peu de temps.
Merci en tout cas !
CORRECTION : j'ai pas lu ton message jusqu'au bout et j'ai été subjugué par la copie d'écran, du coup j'ai zappé ta remarque sur le positionnement en bas. Désolé et merci.
Oui et moi j'avais zappé en fait que tu voulais tout coller en bas.. donc j'avais modifié mon post en te disant de changer l'origin.. mais finalement y'avait la boucle à inverser aussi donc je te refile le code ci-joint ds le post.. et voici le resultat :
Ok, je sors
voir le site répertorié à cet endroit
MyTextFieldCell fait le centrage vertical