2012-06-05 1 views
0

J'ai créé un label:Cocoa: Comment dimensionner dynamiquement le NSTextField?

NSTextField *label = [NSTextField alloc] initWithFrame:NSMakeRect(50, 50, 100, 50)]; 
    [txtField setStringValue:inputString]; 
    [txtField setEditable:false]; 

La longueur de inputString est inconnu au moment de la compilation, alors comment puis-je redimensionner l'étiquette afin qu'il tienne sur une seule ligne et le centrer après lui avoir donné la inputString? Je suis encore nouveau à Cocoa, donc merci pour l'aide!

+0

duplication possible de [Comment puis-je redimensionner un NSTextField pour l'adapter au texte qu'il contient?] (Http://stackoverflow.com/questions/1355906/how-can-i-resize-an-nstextfield-to-fit -le-texte-que-ça-tient) – Jack

Répondre

3

Utilisez la méthode "- (void) sizeToFit" de NSControl. Cela redimensionnera le textField en fonction du texte qu'il contient.

Pour que le texte soit centré, vous pouvez le faire dans Interface Builder et les paramètres ne changeront pas lorsque vous mettez à jour la taille de textField à l'aide de sizeToFit.

Questions connexes