0

UIMenuItem

我知道它UIMenuController可以显示一个包含剪切、复制、粘贴、选择/全部和其他系统菜单项的弹出框。但我不知道最后一项是什么,在上面的屏幕截图中可见。它的作用是什么?它是否在应用程序中调用任何东西,如果是,是什么?可以禁用吗?在这种情况下,我想以编程方式禁用或删除该项目,而不禁用任何国际键盘。

4

2 回答 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 回答