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

Fan*_*ude 7 macos cocoa objective-c nstextfield

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

我想制作一个NSTextField,其外观与Wallet中的一样:

钱包截图.

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

头文件:

#import <Cocoa/Cocoa.h>

@interface VLTextFieldCell : NSTextFieldCell {
}
@end
Run Code Online (Sandbox Code Playgroud)

班级档案:

#import "VLTextFieldCell.h"

@implementation VLTextFieldCell

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

@end
Run Code Online (Sandbox Code Playgroud)

Jim*_*eia 14

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

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


小智 6

[label setFont:[NSFont fontWithName:@"Arial-BoldItalicMT" size:20]];
Run Code Online (Sandbox Code Playgroud)

setFont:被宣布为NSControl,超级的NSTextField.