Reputation: 2729
I want to disable text selection on a UITextView. Until now what i've already done is:
- (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;
}
In this away I set UIMenuController to hidden and i put a stop to text copy but the text selection is still visible.
Google results (also StackOverflow) take me to no solution. Has someone already faced the same problem? Any ideas?
Upvotes: 0
Views: 3933
Reputation: 653
If you want to prevent the text selection but keep links interactions, add the following textview delegate methods
- (void)textViewDidChangeSelection:(UITextView *)textView
{
[textView setSelectedRange:NSMakeRange(NSNotFound, 0)];
}
Upvotes: 3
Reputation: 180
textView.editable = NO;
or
[textView setEnabled:NO];
im not sure what u meant
Upvotes: -1
Reputation: 2822
If you want to disable cut/copy/paste on all UITextView
of your application you can use a category with :
@implementation UITextView (DisableCopyPaste)
- (BOOL)canBecomeFirstResponder
{
return NO;
}
@end
It saves a subclassing... :-)
Otherwise, just subclass UITextView
and put :
- (BOOL)canBecomeFirstResponder
{
return NO;
}
Upvotes: 2