我知道UIMenuController
可以显示包含剪切,复制,粘贴,选择/全部和其他系统菜单项的弹出窗口。但我不知道最后一项是什么,在上面的截图中可见。它的功能是什么?它是否在应用程序中调用任何内容,如果是,那么什么?可以禁用吗?在这种情况下,我想以编程方式禁用或删除该项,而不禁用任何国际键盘。
答案 0 :(得分:1)
假设您正在讨论在不禁用国际键盘的情况下以编程方式禁用RTL菜单项,则看起来似乎没有 - 至少在使用UIMenuController.
时不这样做如果您查看其{{1}的文档它解释了可以在系统项之后插入自定义项,但没有表明您可以删除那些您出于某种原因不想要的系统项。
点击它可能会导致iOS调用menuItems
协议的UITextInput
方法。我不知道这一点 - 尽管如此 - 我只能猜测,因为在对文档做了一小段时间之后我就没有明确的解释。
答案 1 :(得分:1)
图中最右边的“箭头”UIMenuItem
确实是一个系统项目。它的选择器称为_setRtoLTextDirection
:或_setLtoRTextDirection
:我怀疑苹果不希望你弄乱它们,因为当你尝试输入这些方法时,Xcode中的自动完成功能无法帮助你。
要禁用它们,请检查它们并在覆盖的(BOOL)canPerformAction:(SEL)action withSender:(id)sender
方法中返回“NO”。
对于其他想要在UIMenuItems
中停用默认UIMenuItemController
的人,您可以在blog中找到完整列表(或至少大部分列表)。