Fantattitude
Fantattitude

Reputation: 1842

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

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

Upvotes: 8

Views: 14757

Answers (2)

Charles
Charles

Reputation: 71

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

setFont: is declared in NSControl, super class of NSTextField.

Upvotes: 7

Jim Correia
Jim Correia

Reputation: 7084

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.

Upvotes: 14

Related Questions