Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 禁用文本选择UITextView_Iphone - Fatal编程技术网

Iphone 禁用文本选择UITextView

Iphone 禁用文本选择UITextView,iphone,Iphone,我想禁用UITextView上的文本选择。到现在为止我所做的 已经做的是: - (BOOL)canPerformAction:(SEL)action withSender:(id)sender { [UIMenuController sharedMenuController].menuVisible = NO; if (action == @selector(paste:)) return NO; if (action == @selector(sel

我想禁用UITextView上的文本选择。到现在为止我所做的 已经做的是:

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {   
  [UIMenuController sharedMenuController].menuVisible = NO;   
  if (action == @selector(paste:))   
    return NO;   
  if (action == @selector(select:))   
    return NO;   
  if (action == @selector(selectAll:))   
    return NO;   
  return NO;   
}
在这里,我将UIMenuController设置为hidden,并停止文本复制,但文本选择仍然可见

谷歌搜索结果(也是StackOverflow)让我无法找到解决方案。有人已经面对了这个问题吗
同样的问题?有什么想法吗

如果要在应用程序的所有
UITextView
上禁用剪切/复制/粘贴,则可以使用以下类别:

它保存了一个子类…:-)

否则,只需子类
UITextView
并放置:

- (BOOL)canBecomeFirstResponder
{
    return NO;
}

如果要在应用程序的所有
UITextView
上禁用剪切/复制/粘贴,可以使用具有以下功能的类别:

它保存了一个子类…:-)

否则,只需子类
UITextView
并放置:

- (BOOL)canBecomeFirstResponder
{
    return NO;
}

我不知道你的意思


我不确定你的意思

如果你想阻止文本选择但保持链接交互,请添加以下textview委托方法

- (void)textViewDidChangeSelection:(UITextView *)textView
{
    [textView setSelectedRange:NSMakeRange(NSNotFound, 0)];
}

如果要阻止文本选择但保留链接交互,请添加以下textview委托方法

- (void)textViewDidChangeSelection:(UITextView *)textView
{
    [textView setSelectedRange:NSMakeRange(NSNotFound, 0)];
}

问题是关于禁用
UITextView
上的文本选择,这就是这段代码所做的…这当然也会禁用文本输入?是的,刚刚测试过。这将禁用对文本字段的任何文本输入。问题是关于禁用
UITextView
上的文本选择,这段代码就是这样做的……当然,这也会禁用文本输入?是的,刚刚测试过。这将禁用对文本字段的任何文本输入。如果有任何尝试退格,这将使应用程序崩溃。如果有任何尝试退格,这将使应用程序崩溃。
- (void)textViewDidChangeSelection:(UITextView *)textView
{
    [textView setSelectedRange:NSMakeRange(NSNotFound, 0)];
}