[Résolu] Ajuster la taille d'un NSTextField au texte qu'il contient

mybofymybofy Membre
décembre 2013 modifié dans API AppKit #1

Bonjour


 


Je crée un NSTextField (Wrapping Text Field)  myTextField dont je fixe a priori la taille dans le nib.


Je fais [myTextField setStringValue:myString].


Comment ajuster par programmation la hauteur de myTextField de telle sorte que myString soit entièrement visible et/ou qu'il n'y ait pas de lignes vides ?


 


Merci 


Réponses

  • AliGatorAliGator Membre, Modérateur
    En utilisant les méthodes de NSString UIKit Additions. Tu demandes la CGSize que prend la NSString avec telle fonte et telle largeur de wrapping et tu récupère la size.height et basta.


    J'ai répondu à  exactement la même question sur SO il y a peu ça devrait pas être trop dur à  retrouver
  • UIKit Additions  ça existe sous OSx ?


  • AliGatorAliGator Membre, Modérateur
    Zut j'ai mis UIKit par habitude au lieu de AppKit^^ mais bon les méthodes sont les mêmes elles existent forcément sous OSX aussi
  •   8--)   Un point pour moi!


  • AliGatorAliGator Membre, Modérateur
    Avec sizeWithAttributes: tu devrais donc t'en sortir.
  • SO c'est quoi ?


    Pas facile de savoir qu'il existe des Additions à  NSString. Il faut aller dans String Programming Guide... ce qui n'est pas mon premier réflexe quant je cherche une méthode de la classe NSString.


    Maintenant, il n'y a plus qu'à  faire des règles de trois. Je devrais y arriver.


     


    Merci.




  • SO c'est quoi ?




    StackOverflow.

  • AliGatorAliGator Membre, Modérateur
    Pourquoi des règles de 3 ? Tu utilises une méthode comme "- (NSRect)boundingRectWithSize:(NSSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes" en passant la size de ton TextField, et les attributes qui correspondent aux réglages de ton TextField (police, corps, ...) et basta tu as directement la taille que va prendre ta chaà®ne à  l'écran pour être rendue dans cette NSSize donnée, wrapping inclus et tout.
  • xylowebxyloweb Membre
    décembre 2013 modifié #10

    adjustsFontSizeToFitWidth n'existe pas sous OS X dommage...


Connectez-vous ou Inscrivez-vous pour répondre.