gpt4 book ai didi

cocoa - NSFontPanel - 如何处理关闭

转载 作者:行者123 更新时间:2023-12-03 17:40:39 24 4
gpt4 key购买 nike

我需要处理 NSFontPanel 已关闭的情况。当这种情况发生时,是否有任何方法被调用?谢谢回复。

最佳答案

NSFontPanel 是 NSPanel 的子类,而 NSPanel 是 NSWindow 的子类。 NSWindow 有许多委托(delegate)方法可以通知您窗口状态的变化。

在您的窗口 Controller 或应用程序委托(delegate)中,声明与 NSWindowDelegate 的一致性,然后获取字体面板并将其委托(delegate)设置为 Controller 对象。最后,在 Controller 对象中实现 -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

关于cocoa - NSFontPanel - 如何处理关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16840531/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com