问题标签 [nswindowcontroller]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
420 浏览

objective-c - Cocoa Key 事件问题

我正在尝试构建我的第一个可可应用程序。之前做过一些iPhone开发。我很难理解如何布局我的项目。

我制作了一个 Pong 游戏,我目前的设计是从我的 appDelegate 分配一个 NSWindowController。然后我使用自定义视图充当桨和球。我的问题是我无法让窗口控制器捕获关键事件。我在这里想错了吗?我的想法是拥有一个包含所有逻辑的控制器类,我应该为此子类化另一个类吗?

0 投票
1 回答
262 浏览

cocoa - Cocoa 应用程序的文档相关操作应该在哪里实现?

我正在编写一个基于文档的 Cocoa 应用程序,它基本上是一个图形编辑程序。我希望用户能够显示/隐藏非模态窗口(例如检查器窗口)。由于这些窗口将在菜单项中显示/隐藏,因此执行操作的“最佳”位置在哪里,例如- (IBAction)toggleInspector:(id)sender

我已经看到,在 Sketch 示例代码中,这些是在应用程序委托中实现的,并且窗口控制器实例也保留在那里,但感觉比最“优雅”的地方更方便放置它。此外,由于此检查器仅在文档打开时才相关,因此感觉它应该更多地与文档的主文件相关联而NSWindowController不是应用程序。

0 投票
1 回答
3334 浏览

cocoa - XIB-instantiated Object 的 IBOutlet 为 nil

我在这个屏幕截图中设置了一个 XIB:

替代文字 http://emberapp.com/jxpx777/images/interface-builder/sizes/m.png

文件的所有者是我的主窗口控制器。XIB 还负责创建一个对象,该对象充当MGScopeBar视图的委托。正如您在屏幕截图中看到的那样,范围栏委托有一个IBOutlet用于搜索的字段,以便它可以将其作为额外视图作为委托过程的一部分返回。

我遇到的问题是,当为附件视图查询委托对象时,它IBOutlet NSSearchField是 nil。我相当确定这与创建对象、连接 IBOutlets 等的顺序有关,但我只是有点迷失在这个过程中我可以期望搜索字段存在的位置,以便范围栏代表可以正确引用它。

在此先感谢您的任何指点。

0 投票
1 回答
124 浏览

cocoa - Cocoa:创建具有可变数量界面元素的窗口

我有一个窗口,其中包含未知数量的文本字段,由远程服务器的内容决定。

在高层次上,我应该怎么做?创建一个自定义视图或创建一个带有支持 NSWindowController 的空窗口,然后在打开窗口时向其中添加内容?

我已经看过 O'Reilly Cocoa 书中的示例,这些示例有效地创建了自定义 NSView。8年后,这是正确的做法吗?

0 投票
2 回答
7401 浏览

cocoa - 如何关闭窗口(卸载 NIB)?

我有一个自定义NSWindowController子类,它在初始化期间加载一个 NIB 文件,如下所示:

笔尖包含一些自定义视图和一些其他控件。这NSWindowController是文件的所有者,并且至少有一个视图甚至绑定到它。

简单地说,我需要做什么才能关闭和释放那个窗口?我花了一整天的时间试图弄清楚这一点,但我仍然一无所知。

0 投票
4 回答
11882 浏览

cocoa - NSWindowController windowDidLoad 未调用

我有一个使用 NSWindowController 子类的简单 Cocoa 应用程序。在我设置的笔尖中:

  • 文件所有者的类到我的 NSWindowController 子类
  • 文件所有者的“窗口”出口到笔尖中的主 NSWindow。

我的 NSWindowController 子类的 init 方法被调用(我称之为 super),但无论我做什么 windowDidLoad 都不会被调用。

我一定错过了一些明显的东西,但对于我的生活,我无法弄清楚它是什么。

0 投票
2 回答
12215 浏览

objective-c - 如何打开 NSWindow 并选择窗口并获得焦点?

我正在尝试使用以下代码打开 NSWindow:

窗口打开正常,但前一个窗口仍然是 mainWindow 并处于焦点。我尝试了以下代码来强制主窗口,但它不起作用。该窗口仍然有一个禁用的标题栏,并且不接受关键事件等。

我似乎能够让前一个窗口失去焦点的唯一方法是如果我在调用 showWindow: with [[NSApp mainWindow] close]; 后关闭窗口:

有任何想法吗?

0 投票
2 回答
742 浏览

cocoa - setContentBorderThickness:forEdge 的问题:实际上没有设置值

我正在尝试使用setContentBorderThickness:forEdge:在 Cocoa 应用程序中创建底栏。

mipadi 正在做一些事情,但在测试它时,我认为这可能是一个稍微不同的问题:

即使在我明确设置之后,这两条NSLog()消息都显示厚度值为 0.0。有谁知道这是怎么回事?

0 投票
1 回答
462 浏览

cocoa - 访问 NIB 窗口控件

我从 NSWindowController 继承了一个新类来实现 windowDidLoad ,然后访问NIB定义的窗口控件:

代码执行顺利。显示了 NIB 窗口,但子视图没有元素。如何访问窗口子控件?谢谢,

0 投票
1 回答
476 浏览

cocoa - 将 NSTabView 分解为文件

随着我的 Cocoa 应用程序的出现,我的 NSWindowController 正在变成huuuuuuuuuge。我的窗口有一个 NSTabView,其中的每个选项卡都有自己的 NSViewController(它们都有子菜单)和自己的方法。因此,由于选项卡,我的 WindowController.m 似乎远远超出了它应有的范围。

可悲的是, NSTabView 的示例非常简单。他们不需要任何重组。所以,我在这里寻求建议。如何将特定于选项卡的内容从窗口控制器中拉出并放入它们自己的专用对象中?