Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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
like image 411
Fantattitude Avatar asked Jul 08 '09 22:07

Fantattitude


Video Answer


2 Answers

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.

like image 91
Jim Correia Avatar answered Sep 23 '22 00:09

Jim Correia


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

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

like image 42
Charles Avatar answered Sep 25 '22 00:09

Charles