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

cocoa, macos, nstextfield, objective-c

Solution

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.

Problem

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 ```

Original source