gpt4 book ai didi

macos - NSUndoManager 操作名称中的 & 符号有什么特别之处?

转载 作者:行者123 更新时间:2023-12-03 16:31:03 27 4
gpt4 key购买 nike

我注意到如果我说类似的话

[self.undoManager setActionName: @"X & Y"];

然后生成的菜单项看起来像“撤消 X Y”(X 和 Y 之间有一个双倍空格)。 (在 Mac OS X 10.7.5 和 10.10.3 上测试。)我可以通过将 & 符号加倍来显示它,但我想知道为什么会发生这种情况?有记录吗?是否有一些更广泛的字符集在操作名称或菜单项中专门解释?

最佳答案

在未来的日子里,菜单项可以有一个“助记符”,这是一个在菜单中带有下划线的字符。如果用户在菜单获得焦点时键入该字符,则该项目将被选择。

在代码中,助记符在菜单标题字符串中通过在字符前加上 & 符号来指示。 NSMenuItem 上仍然有一些已弃用的方法来设置和获取助记符。

OS X 不支持该功能。它不显示带下划线的字符,也不让您通过键入来选择菜单项。因此,这些方法只是从标题中删除 & 符号。

显然,NSUndoManager 必须仍然使用这些基于助记符的 API 之一来设置菜单项标题。这大概是为了向后兼容。某些应用程序可能会在撤消操作名称中使用“&”符号,目的是将其转换为助记符。如果 NSUndoManager 停止剥离它们(通过切换到 NSMenuItem 的更常见的非助记方法),那么这些应用程序可能会开始在奇怪的地方显示&符号。

关于macos - NSUndoManager 操作名称中的 & 符号有什么特别之处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30786942/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com