objective-c – 如何组织“窗口”菜单?

objective-c – 如何组织“窗口”菜单?,第1张

概述我有一个基于文档的应用程序.每个文档都可以有多个窗口.每个窗口都会自动添加到“窗口”菜单中.但是,它们或多或少地以随机和无用的顺序添加.我希望窗口标题根据它们所属的NSDocument进行组织,类似于XCode或Photoshop的工作方式. 我该怎么做才能做到最好?如何防止AppKit的默认行为将所有窗口添加到此特殊菜单中,我应该在哪里放置以“正确”方式添加菜单项的代码?我不想把处理程序放到每个 我有一个基于文档的应用程序.每个文档都可以有多个窗口.每个窗口都会自动添加到“窗口”菜单中.但是,它们或多或少地以随机和无用的顺序添加.我希望窗口标题根据它们所属的NSdocument进行组织,类似于XCode或Photoshop的工作方式.

我该怎么做才能做到最好?如何防止AppKit的默认行为将所有窗口添加到此特殊菜单中,我应该在哪里放置以“正确”方式添加菜单项的代码?我不想把处理程序放到每个窗口控制器中!

解决方法 确实看起来这是 Cocoa应该自动完成的事情.我不知道是否这样做,但首先要检查的是窗口控制器是否正确连接到他们的文档.您的文档子类的windowControllers属性是否包含所有正确的对象?

如果这不好,那么从NSWindow’s reference看起来阻止标题已被设置的窗口被添加到windows菜单的唯一方法是 – [NSWindow setExcludedFromwindowsMenu:].看起来你想要在所有窗口上调用它,然后设置一个对象(可能在MainMenu笔尖中),它负责windows菜单中所有窗口的位置和分组(通过NSApplication的方法).您可能需要输入特殊的禁用项目等,以使分组看起来正确.我希望即使您之前已经要求将它们排除在外,仍然可以手动添加窗口.

总结

以上是内存溢出为你收集整理的objective-c – 如何组织“窗口”菜单?全部内容,希望文章能够帮你解决objective-c – 如何组织“窗口”菜单?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1071695.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存