2009-07-08 8 views
7

Sto facendo un'applicazione Cocoa e non riesco a capire come fare qualcosa.Come personalizzare l'aspetto di NSTextField (Font utilizzato, dimensione del carattere) in Cocoa?

Voglio fare un NSTextField con un look personalizzato come quello di Portafoglio:

Wallet screenshot.

ho capito come cambiare la dimensione NSTextField, ma non so come cambiare il tipo di carattere e dimensioni Ho creato una sottoclasse di NSTextFieldCell come questa, ma non funziona, il carattere non viene modificato se non scelgo un font di sistema e la dimensione cambia solo l'altezza della linea ma non l'altezza dei caratteri.

file di intestazione:

#import <Cocoa/Cocoa.h> 

@interface VLTextFieldCell : NSTextFieldCell { 
} 
@end 

file di classe:

#import "VLTextFieldCell.h" 

@implementation VLTextFieldCell 

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

@end 

risposta

14

Per cambiare il tipo di carattere di un NSTextField, cambiare il tipo di carattere in Interface Builder utilizzando il pannello Font, o tramite -setFont: in fase di esecuzione .

Non è necessario eseguire la sottoclasse di NSTextField o NSTextFieldCell semplicemente per utilizzare un font diverso.

+0

Oh, giusto ... stavo cercando l'impostazione Font ... Non ho pensato al pannello Font  + T. Grazie;) – Fantattitude

+0

Uno non è in grado di impostare il carattere in questo modo in xCode 4.1/4.2. Non lasciare che questo ragazzo ti faccia impazzire ... Il pannello manca. E il pannello dei caratteri "normale" non ha alcun effetto su alcun prodotto costruito. –

+0

Quando ho scritto questa risposta nel 2009, Xcode 4.x non esisteva. Tuttavia, è ancora possibile impostare il carattere per un NSTextField in Interface Builder: http://cl.ly/1I3T3E1D3o1X2b0E0u0x –

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

setFont: è dichiarata in NSControl, super classe di NSTextField.