如何从 UIMenuController 中删除粘贴?

Posted

技术标签:

【中文标题】如何从 UIMenuController 中删除粘贴?【英文标题】:How to remove paste from UIMenuController? 【发布时间】:2014-05-30 05:02:27 【问题描述】:

我已将我自己的 MenuItem 添加到 UIMenuController。但问题是它还显示了一些默认项目,如复制、粘贴等。我想删除这些项目并想显示我自己的菜单项。我也试过这段代码

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender

    BOOL can = [super canPerformAction:action withSender:sender];

    if (action == @selector(showMyAlert:) )
    
        can = YES;
    
    if (action == @selector(paste:))
    
        can = NO;
    
    return can;

【问题讨论】:

@himanshu,谢谢 Himanshu。但是,你能给我答案吗 【参考方案1】:

您可以将UITextViewUITextField 子类化,并在下面添加这些代码。

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender

    // Show your own menu item only
    return (action == @selector(showMyAlert:));

【讨论】:

以上是关于如何从 UIMenuController 中删除粘贴?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 iOS 的 UIMenuController 中删除默认的 UIMenuItem?

如何从 UITextfields UIMenuController 中删除不需要的 UIMenuItems?

如何从 UIMenuController 中删除 Copy、Select All、Define menuItem

从 TableView 中的 UIMenuController 中删除默认剪切、复制、粘贴

从 UIMenuController 中删除自定义菜单项

从 UIMenuController 中删除复制、查找和共享