我需要处理NSFontPanel已经关闭的问题。当发生这种情况时,有没有什么方法会被调用?谢谢回复。
发布于 2013-05-31 02:38:09
NSFontPanel是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");
}
}
@endhttps://stackoverflow.com/questions/16840531
复制相似问题