gpt4 book ai didi

objective-c - 如何在 MacO 的 Cocoa 应用程序中创建新的工作区?

转载 作者:行者123 更新时间:2023-12-03 17:53:15 25 4
gpt4 key购买 nike

我一直在为 MacOs 开发一个应用程序。他们是 MainMenu.xib 中的一个窗口我已经提出了一套观点。一切都很好。现在,我发现能够 File->New 会很有用。并拥有该窗口的新(第二个)空白副本。我尝试将连接从 AppDelegate.m 移至窗口到一个新的MainView.m对象并有File->New call [[aMainView window] makeKeyAndFront]但它似乎没有做任何事情。我仍然只有该窗口的一份副本。

非常感谢任何建议!

最佳答案

就像 hussain Shabbir 正确指出的那样,makeKeyAndOrderFront: 只创建一个现有的窗口键并将其排序在前面;它不会创建新窗口。

您应该做的第一件事是将“MainView”重命名为更准确地描述它是什么类型的东西。这当然不应该是一个观点。当我谈论这个主题时,“main” means something specific in the context of an application's windows ——这一含义与你的“主”窗口不一致,“主”窗口可能是主窗口,也可能不是主窗口,特别是当用户可以拥有多个窗口时。

我建议用 NSWindowController 彻底替换 MainView。方便的是,如果您创建 NSWindowController 的子类,Xcode 将为您提供一个选项来创建一个 Nib 。该 Nib 将有一个窗口,每个窗口 Controller 将在需要时加载该窗口。

然后,让你的 New 菜单项创建一个新的窗口 Controller ,将其扔到堆上(你需要在某个地方保留一个可变的窗口 Controller 数组,以保持它们全部处于事件状态并且它们的窗口可见,尤其是在 ARC 下),并告诉窗口 Controller 显示其窗口。

关于objective-c - 如何在 MacO 的 Cocoa 应用程序中创建新的工作区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19151008/

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