响应程序链的更改正在破坏我的撤消功能

发布于 2024-12-02 04:28:47 字数 301 浏览 0 评论 0原文

我在 NSWindowDelegate 中为当前窗口设置了默认的 NSUndoManager,并且运行良好。但现在我修改了 NSOutlineView ,以便它的下一个响应者是它的视图控制器,如下所示:

[self.sceneOutlineView setNextResponder:self];

所以现在当大纲视图具有焦点时,我的响应者链似乎被破坏了,并且没有设置 NSUndoManager 供我的编辑菜单使用。

我是响应者链的菜鸟。我还需要做什么才能弄清楚如何让我的 undoManager 工作?

I have a default NSUndoManager set for the current window in my NSWindowDelegate, and that has been functioning great. But now I have modified an NSOutlineView so that its next responder is it's view controller like so:

[self.sceneOutlineView setNextResponder:self];

So now when the outline view has focus, something seems to be broken with my responder chain, and an NSUndoManager is not set for my Edit menu to use.

I'm a noob to the responder chain. What else do I need to do to figure out how to get my undoManager to work?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

雨夜星沙 2024-12-09 04:28:47

请尝试这样的操作,以完全修补响应者链:

[self setNextResponder:[self.sceneOutlineView nextResponder]];
[self.sceneOutlineView setNextResponder:self];

Try something like this instead, to fully patch the responder chain:

[self setNextResponder:[self.sceneOutlineView nextResponder]];
[self.sceneOutlineView setNextResponder:self];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文