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

时间:2013-01-30 10:50:26

标签: objective-c cocoa-touch uitextview

  

可能重复:
  How disable Copy, Cut, Select, Select All in UITextView

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

2 个答案:

答案 0 :(得分: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;
}

同时检查This link

答案 1 :(得分:-2)

子类UITextView并覆盖canBecomeFirstResponder

- (BOOL)canBecomeFirstResponder
{
    return NO;
}

希望这可以帮助你..