gpt4 book ai didi

objective-c - 无法在应用程序启动时隐藏 NSFontPanel

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

我正在为我的应用程序创建一个功能,我想在其中使用 NSFontPanel。我不想在我的应用程序中出现“字体”菜单。

单击菜单项时打开和关闭字体面板的操作如下

- (IBAction) showOverlayControls:(id)sender
{
if ( [[NSFontPanel sharedFontPanel] isVisible])
{
NSLog(@"Test");
[[NSFontPanel sharedFontPanel] orderOut:self];
}
else
{
NSFontManager* fontMgr = [NSFontManager sharedFontManager];
[fontMgr setTarget:self];

NSFontPanel* fontPanel = [NSFontPanel sharedFontPanel];
[fontPanel orderFront:self];
}
}

工作正常。当我尝试在应用程序启动时关闭字体面板(以防显示字体面板)时,就会出现问题。我尝试过

if ( [[NSFontPanel sharedFontPanel] isVisible] )
[[NSFontPanel sharedFontPanel] close];

if ( [[NSFontPanel sharedFontPanel] isVisible] )
[[NSFontPanel sharedFontPanel] orderOut:self];

我也尝试过不使用 if 语句,仍然没有成功。如果该面板在应用程序关闭时显示,则在打开应用程序时它总是会再次弹出。我还尝试在应用程序委托(delegate)的 appWillTerminate 方法中关闭字体面板。同样的行为。

希望得到任何提示。提前致谢,

弗洛

最佳答案

你在哪里调用这些方法?它必须有效。

您可以在 AppDelegate -applicationDidFinishLaunching: 通知中调用它,如下所示:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
if ([[NSFontPanel sharedFontPanel] isVisible])
[[NSFontPanel sharedFontPanel] orderOut:self];
}

关于objective-c - 无法在应用程序启动时隐藏 NSFontPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12140480/

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