2

我继承了 NSFontManager 并覆盖了“modifyFont:(id)sender) 然后我将我的 xib 文件中的 NSFontManager 类更改为新类。我可以看到,该类已初始化,但从未调用过覆盖的方法。虽然 NSFontManager 方法工作正常。

我错了什么?

#import "GFFontManager.h"

@implementation GFFontManager

-(id)init{
    if (self = [super init]) {
        //this is called
        NSLog(@"GFFontManager init");
    }
    return self;
}

-(void)modifyFont:(id)sender{
    //this is never called
    NSLog(@"Do something");
    [super modifyFont:sender];
}

@结尾

4

1 回答 1

2

好的 - 这是它的工作原理:

我在 main.c 中添加了以下内容,它就像一个魅力!

#import <Cocoa/Cocoa.h>
#import "GFFontManager.h"

int main(int argc, char *argv[])
{
    [NSFontManager setFontManagerFactory: [GFFontManager class]];
    return NSApplicationMain(argc,  (const char **) argv);
}

最好的问候 - 杰拉德

于 2012-06-27T20:06:19.737 回答