2012-06-27 2 views
2

NSFontManager를 서브 클래 싱하여 "modifyFont : (id) sender) 을 서브 클래 싱했습니다. 그런 다음 xib 파일의 NSFontManager 클래스를 새 클래스로 변경했습니다. 클래스가 초기화되었지만 . 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]; 
} 

@end

답변

2

OK - 여기 그것이 작동하는 방법은 다음과 같습니다.?

나는 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); 
} 

감사합니다 - 제럴드