adapter les dimensions d'une NSTextView à son contenu
Philippe49
Membre
Pour calculer la taille nécessaire à la représentation d'une chaà®ne dans une NSTextView, j'ai bien un code qui marche à peu près,
mais cela est relativement instable.
Avez-vous mieux ?
<br /> NSDictionary * attributes=[NSDictionary dictionaryWithObject:font forKey:NSFontAttributeName];<br /> NSSize size=[string sizeWithAttributes:attributes];<br /> <br /> NSSize textSize=NSMakeSize(<br /> size.width+2.*textContainerInsetSize.width+16.+[NSScroller scrollerWidthForControlSize:NSSmallControlSize] ,<br /> size.height+2.*textContainerInsetSize.height+16.<br /> );<br /><br />
mais cela est relativement instable.
Avez-vous mieux ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Sinon le problème de sizeWithAttributes, c'est que la taille renvoyée correspond à la taille nécessaire pour écrire la string sur une seule ligne, si c'est un problème pour toi, la question a déjà été évoquée sur le forum.
cela pose les mêmes problèmes, et en fait, je veux redimensionner la fenêtre qui contient le NSTextView.
En fait sizeToFit ne joue que sur la hauteur, et n'adapte pas la largeur du NSScrollView
à priori, non, la taille est à peu près bien calibrée sur plusieurs lignes, c'est simplement qu'il faut rajouter une valeur d'à peu près un caractère (~16) par ligne.
Le '\n' serait-il compté ??
oui, en Février avec une solution avec NSLayoutManager.
J'ai aussi essayé de faire un NSTextView hors écran, mais peut-être faut-il creuser davantage de ce côté.