如何在Cocoa中自定义NSTextField外观(使用的字体,字体大小)?

时间:2009-07-08 22:35:53

标签: objective-c cocoa macos nstextfield

我正在制作一个Cocoa应用程序,我无法弄清楚如何做某事。

我想制作一个NSTextField,其外观类似于电子钱包中的那个:

Wallet screenshot.

我想出了如何更改NSTextField大小,但我不知道如何更改字体和大小。我将NSTextFieldCell子类化为这样但它不起作用,如果我不选择系统字体并且大小只改变行高而不是字符高度,则字体不会改变。

标题文件:

#import <Cocoa/Cocoa.h>

@interface VLTextFieldCell : NSTextFieldCell {
}
@end

班级档案:

#import "VLTextFieldCell.h"

@implementation VLTextFieldCell

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

@end

2 个答案:

答案 0 :(得分:14)

要更改NSTextField的字体,请使用字体面板在Interface Builder中更改其字体,或在运行时通过-setFont:更改字体。

没有必要将NSTextField或NSTextFieldCell子类化为使用不同的字体。

答案 1 :(得分:6)

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

setFont:NSControl超级NSTextField中声明。