Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa NSFontPanel-如何处理关闭_Cocoa_Nsfontpanel_Nscolorpanel - Fatal编程技术网

Cocoa NSFontPanel-如何处理关闭

Cocoa NSFontPanel-如何处理关闭,cocoa,nsfontpanel,nscolorpanel,Cocoa,Nsfontpanel,Nscolorpanel,我需要处理那个面板已经关闭的问题。当这种情况发生时,是否有调用的方法?Thx用于回复。NSFontPanel是NSPanel的一个子类,NSPanel是NSWindow的一个子类。NSWindow有许多委托方法,可以通知您窗口状态的更改 在窗口控制器或应用程序委托中,声明与NSWindowDelegate的一致性,然后获取字体面板并将其委托设置为控制器对象。最后,在控制器对象中实现-windowWillClose:,并在那里执行所需的任何操作 例如: /* AppDelegate.h */ @i

我需要处理那个面板已经关闭的问题。当这种情况发生时,是否有调用的方法?Thx用于回复。

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
/*AppDelegate.h*/
@接口AppDelegate:NSObject
@属性(分配)窗口*窗口;
@结束
/*AppDelegate.m*/
@实现AppDelegate
-(无效)ApplicationIDFinishLaunching:(NSNotification*)通知
{
NSFontPanel*fp=[[NSFontManager sharedFontManager]fontPanel:是];
fp.delegate=self;
}
-(无效)窗口将关闭:(NSNotification*)通知
{
if(notification.object=[[NSFontManager sharedFontManager]fontPanel:否])
{
/*在这里关闭字体面板*/
NSLog(@“字体面板关闭”);
}
}
@结束