objective-c - 子类化 NSFontManager 不起作用

标签 objective-c subclass nsfontmanager

我对 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/

相关文章:

iphone - 从 FQL 中的用户表获取个人资料图片创建日期

ios - 识别 UIWebView 中的多个链接

c++ - 定义子类的对象

java - 在 java 中使用子类时遇到问题

objective-c - Cocoa:字体格式弹出按钮

ios - 我怎样才能加快 becomeFirstResponder 的速度?

objective-c - 使用 NSArray 作为参数声明函数

java - Java继承中的私有(private)成员

macos - 如何获取 NSFontManager 选择的字体?

swift - 无法在 swift 中使用 NSFontManager 方法