How to customize NSTextField look (Font used, font size) in Cocoa?

Fantattitude picture Fantattitude · Jul 9, 2009 · Viewed 13.5k times · Source

I'm making a Cocoa application and I can't figure out how to do something.

I want to make an NSTextField with a custom look like the one in Wallet :

Wallet screenshot.

I figured out how to change the NSTextField size but I don't know how to change the font and it size. I subclassed NSTextFieldCell like this but it doesn't work, the font is not changed if I don't choose a system font and the size only change line height but not characters height.

Header file :

#import <Cocoa/Cocoa.h>

@interface VLTextFieldCell : NSTextFieldCell {
}
@end

Class file :

#import "VLTextFieldCell.h"

@implementation VLTextFieldCell

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

@end

Answer

Jim Correia picture Jim Correia · Jul 9, 2009

To change the font of an NSTextField, change its font in Interface Builder using the Font Panel, or via -setFont: at runtime.

It is not necessary to subclass NSTextField or NSTextFieldCell simply to use a different font.