如果这很明显,请原谅我,但我对Cocoa和Objective-C都很陌生。
我有一个非常简单的文本编辑器应用程序,它有两个使用Interface Builder创建的窗口。一个用于文本内容,另一个窗口具有各种控件和"输入全屏"按钮。
我在App Delegate中定义了一个名为myWindow的IBOutlet,链接到文本编辑器窗口。我用:
[self.myWindow togglefullscreen]
在App Delegate中进入全屏模式"进入全屏"按钮在另一个窗口按下。
现在,我正在尝试将我的应用程序转换为基于文档的应用程序。
我的问题是:如何访问当前的文档窗口,以便从App Delegate中调用togglefullscreen?这甚至可能/优雅吗?
接口构建器不允许我将App Delegate中的IBOutlet连接到Document.xib中的Document窗口,我认为它有意义,因为它可能有多个实例。
另一个问题源于此问题,如果这个全屏幕功能应该在Document类中实现,并且应该是"全屏幕"按钮位于文档窗口本身(因为只有一个文档将是全屏)?
我们非常感谢任何想法: - )
约翰
答案 0 :(得分:0)
NSDocument(子类)可以有多个与之关联的窗口。您的NSDocument子类可以访问NSDocument的windowControllers属性以获取一个窗口控制器的NSArray(IIRC返回到前面的顺序),并询问每个子窗口的相关窗口(属性)。