0

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

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

4

2 回答 2

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];
    }

另一种方式

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

还要检查这个链接

于 2013-01-30T10:53:14.843 回答
-2

子类化UITextView和覆盖canBecomeFirstResponder

- (BOOL)canBecomeFirstResponder
{
    return NO;
}

希望这可以帮助你..

于 2013-01-30T10:51:56.137 回答