即使允许用户编辑文本,也可以在UITextView中禁用剪切和复制

Pra*_*mar 0 cocoa-touch objective-c uitextview

可能重复:
如何在UITextView中禁用"复制","剪切","选择","全选"

我有一个UITextView可以编辑的.我有另一个"复制"按钮,所以我想禁用文本视图的内置"复制"和"剪切"功能.当在文本视图中双击时,这些显示为黑色迷你弹出窗口.有没有办法只阻止这两个选项,仍然让用户编辑文本?

iPa*_*tel 6

覆盖canPerformAction:withSender:返回NO您不想允许的操作的方法:

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
    {
        if (action == @selector(paste:))
            return NO;
        if (action == @selector(select:))   
            return NO;   
        if (action == @selector(selectAll:))   
            return NO;  
        return [super canPerformAction:action withSender:sender];
    }
Run Code Online (Sandbox Code Playgroud)

其他方式

-(BOOL)canPerformAction:(SEL)action withSender:(id)sender {
    UIMenuController *menuController = [UIMenuController sharedMenuController];
    if (menuController) {
        [UIMenuController sharedMenuController].menuVisible = NO;
    }
    return NO;
}
Run Code Online (Sandbox Code Playgroud)

另请查看此链接