0

我正在继承 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

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

4

2 回答 2

6

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

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

于 2010-06-14T16:09:53.007 回答
2

也许setTypingAttributes:也试试。

于 2010-06-14T16:07:22.707 回答