gpt4 book ai didi

Objective-C 首选项窗口 makeKeyAndOrderFront 或 showWindow?

转载 作者:搜寻专家 更新时间:2023-10-30 19:53:48 26 4
gpt4 key购买 nike

我正在开发一个新的 Mac 应用程序,想打开我的首选项窗口,我有 2 个 Nib (xib) 文件,一个用于主窗口,一个用于首选项窗口,然后我有一个openPreferences Action,显示首选项窗口,某事。像这样:

- (IBAction)openPreferences:(id)sender
{
PrefCont *cont = [[PrefCont alloc] init];
[cont showWindow:self];
}

此代码有效,但是当我在打开的首选项菜单项上单击多次然后单击一次时,首选项窗口将打开两次或更多次。

有没有可能用某物来做呢?像 makeKeyAndOrderFront 但它必须由 PrefController 调用?

或者我可以询问 Mac 是否打开了窗口?如果没有,则显示它或某事。链接这个。

这将非常有帮助,感谢大家!

最佳答案

如果你想避免双窗口症状,你应该让 PrefCont * cont 成为这个类的 ivar,然后做:

- (IBAction) openPreferences:(id)sender {
if (cont == nil) {
cont = [[PrefCont alloc] init];
}
[cont showWindow:sender];
}

这样您将只创建一个首选项 Controller ,并告诉它显示它的窗口。

完成后不要忘记[cont release];...

关于Objective-C 首选项窗口 makeKeyAndOrderFront 或 showWindow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2247349/

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