我对 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];
}
@结束
最佳答案
好的 - 这是它的工作原理:
我将以下内容添加到 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);
}
最诚挚的问候 - 杰拉德
关于objective-c - 子类化 NSFontManager 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11230292/