NSFontPanel -如何处理关闭



我需要处理NSFontPanel已关闭。有什么方法会被调用吗?谢谢您的回复。

NSFontPanel是NSPanel的一个子类,NSPanel是NSWindow的一个子类。NSWindow有很多委托方法可以通知你窗口状态的变化。

在你的窗口控制器或应用程序委托中,声明一致性NSWindowDelegate,然后获取字体面板并将其委托设置为控制器对象。最后,在控制器对象中实现-windowWillClose:,并在那里执行所需的任何操作。

例如:

/* AppDelegate.h */
@interface AppDelegate : NSObject <NSWindowDelegate>
@property (assign) IBOutlet NSWindow *window;
@end
/* AppDelegate.m */
@implementation AppDelegate
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
  NSFontPanel *fp = [[NSFontManager sharedFontManager] fontPanel:YES];
  fp.delegate = self;
}
- (void)windowWillClose:(NSNotification *)notification
{
  if(notification.object == [[NSFontManager sharedFontManager] fontPanel:NO])
  {
    /* Handle font panel close here */
    NSLog(@"Font panel closing");
  }
}
@end

相关内容

  • 没有找到相关文章