设置NSTextView的字体

时间:2010-06-14 14:30:37

标签: cocoa nstextview fonts

我将NSTextView子类化为设置它的默认字体:

PTNfoEditField.h

@interface PTNfoEditField : NSTextView {

}

@end

PTNfoEditField.m

@implementation PTNfoEditField

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

    return self;
}

@end

然而,这不起作用,我不知道如何以不同的方式做到这一点。谁能帮我?感谢。

2 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:2)

也许也尝试setTypingAttributes: