在Storyboard中使用多个窗口(Mac OS X开发)

时间:2015-06-30 17:13:20

标签: objective-c xcode macos cocoa

我在故事板上有两个窗口控制器(带有自己的视图控制器)。

在一个窗口中,我有一个主程序,一个带有NSTextView的基本文本编辑器。在另一个窗口中,我只有一个按钮。

我发现如何通过将窗口链接到菜单项来显示窗口。它有效。

默认情况下,主窗口链接到我的ViewController类。第二个窗口也链接到ViewController类,其按钮链接到ViewController类中的IBAction。

我在IBAction中有一些简单的代码,基本上告诉NSTextView将其字体大小更改为更大的字体。我已经确认代码本身在其他方法中调用时可以正常工作。

按钮有效,但是它正在使用我的ViewController类的完全不同的实例。因此,结果:文字大小不会改变。

所以我的主要问题是如何在一个窗口中获取IBAction以影响另一个窗口中的对象

我希望我在解释自己时做了好的工作。请记住这是我的第一个Stack Overflow问题:)我尽力研究这个问题,但主要是在iOS开发和使用XIB文件上找到了相关信息。

1 个答案:

答案 0 :(得分:0)

听起来你有两个具有相同控制器类的窗口但是想要在一个窗口中发生什么影响另一个窗口。最简单的方法是通知。当在一个窗口中单击该按钮时,将发布通知,ViewController的所有实例都会根据需要通过更改字体大小来接收和响应。您还可以查看在单击按钮时设置用户默认值,并使用绑定将文本字段的字体大小与当前默认值相关联。