我知道它UIMenuController
可以显示一个包含剪切、复制、粘贴、选择/全部和其他系统菜单项的弹出框。但我不知道最后一项是什么,在上面的屏幕截图中可见。它的作用是什么?它是否在应用程序中调用任何东西,如果是,是什么?可以禁用吗?在这种情况下,我想以编程方式禁用或删除该项目,而不禁用任何国际键盘。
问问题
394 次
2 回答
1
图中最右边的“箭头”UIMenuItem
确实是一个系统项目。它的选择器称为_setRtoLTextDirection
: 或_setLtoRTextDirection
: 我怀疑苹果不希望你弄乱它们,因为当你尝试键入这些方法时,Xcode 中的自动完成对你没有帮助。
要禁用它们,请检查它们并在覆盖的(BOOL)canPerformAction:(SEL)action withSender:(id)sender
方法中返回“NO”。
对于其他想要禁用默认设置UIMenuItems
的人,您可以在我的博客UIMenuItemController
中找到完整列表(或至少其中大部分)。
于 2011-06-28T06:43:37.907 回答
1
假设您正在谈论在不禁用国际键盘的情况下以编程方式禁用 RTL 菜单项,那么您似乎不能 - 至少在使用UIMenuController.
时menuItems
不能项目,但没有表明您可以删除由于某种原因不想要的系统项目。
点击它可能会导致 iOS 调用UITextInput
协议的setBaseWritingDirection:forRange:
方法。不过,我对此一无所知——我只能猜测,因为在短暂浏览文档后我知道没有明确的解释。
于 2011-05-19T03:54:41.333 回答