设置NSTextView的字体

0 fonts cocoa nstextview

我是NSTextView的子类,设置它的默认字体:

PTNfoEditField.h

@interface PTNfoEditField : NSTextView {

}

@end
Run Code Online (Sandbox Code Playgroud)

PTNfoEditField.m

@implementation PTNfoEditField

-(id)init {
    if(self = [super init]) {
        [[self textStorage] setFont:[NSFont fontWithName:@"Courier" size:10]];
    }

    return self;
}

@end
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用,我不知道如何以不同的方式做到这一点.谁能帮我?谢谢.

Pet*_*sey 6

视图的初始化程序不是init,它是initWithFrame:.此外,如果您的视图位于笔尖中,则还必须覆盖initWithCoder:.不要忘记确保您的视图实际上是PTNfoEditField,而不是常规的NSTextView.

此外,您应该使用[NSFont userFixedPitchFontOfSize:0.0]设置字体.你应该硬编码字体名称(用户可能更喜欢更好的等宽字体)和字体大小(用户可能会发现10-pt难以阅读或将抗锯齿阈值设置在其上方).