2009-07-08 12 views
7

Je fais une application Cocoa et je n'arrive pas à comprendre comment faire quelque chose.Comment personnaliser le look NSTextField (Police utilisée, taille de police) dans Cocoa?

Je veux faire un NSTextField avec un look personnalisé comme celui-monnaie:

Wallet screenshot.

je me suis dit comment changer la taille NSTextField, mais je ne sais pas comment changer la police et cette taille. J'ai sous-classé NSTextFieldCell comme ceci mais cela ne fonctionne pas, la police n'est pas changée si je ne choisis pas une police de système et la taille change seulement la taille de ligne mais pas la taille de caractères.

fichier d'en-tête:

#import <Cocoa/Cocoa.h> 

@interface VLTextFieldCell : NSTextFieldCell { 
} 
@end 

fichier Classe:

#import "VLTextFieldCell.h" 

@implementation VLTextFieldCell 

- (NSFont *)font 
{ 
    return [NSFont fontWithName:@"Lucida Grande" size:16.0]; 
} 

@end 

Répondre

14

Pour changer la police d'un NSTextField, modifiez sa police dans Interface Builder à l'aide du panneau Police, ou via -setFont: lors de l'exécution .

Il n'est pas nécessaire de sous-classer NSTextField ou NSTextFieldCell simplement pour utiliser une police différente.

+0

Ah oui ... Je cherchais le réglage de la police ... Je n'ai pas pensé au panneau de polices  + T. Merci;) – Fantattitude

+0

On n'est pas capable de définir la police de cette manière dans xCode 4.1/4.2. Ne laissez pas ce type vous rendre fou ... Le panneau est manquant. Et le panneau de police "normal" n'a aucun effet sur tout produit construit. –

+0

Lorsque j'ai écrit cette réponse en 2009, Xcode 4.x n'existait pas. Toutefois, vous pouvez toujours définir la police pour un NSTextField dans Interface Builder: http://cl.ly/1I3T3E1D3o1X2b0E0u0x –

5
[label setFont:[NSFont fontWithName:@"Arial-BoldItalicMT" size:20]]; 

setFont: est déclarée dans NSControl, super classe de NSTextField.