Question

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
Was it helpful?

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.

OTHER TIPS

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

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top