I am working in the iPhone app using UITextView. I want to allow the user only can Copy the message and Paste the message. But i don't want to show Select all, Select, Define and others. I am following this below code to control the options. But, all the options are showing in UITextView click.
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
if (action == @selector(paste:))
{
return NO;
}
else if (action == @selector(copy:))
{
return NO;
}
return [super canPerformAction:action withSender:sender];
}
Can anyone please help me to do this. And also i don't want to show |.Text.| while copying the message. Please help me to do this. Thanks in advance.
解决方案
First of all if the code you have above isn't working then you probably forgot to change the class of you UITextView to your custom class that implements the method above.
Once you've done that what you've got should work and you should then return no for select all also
if (action == @selector(selectAll:))
{
return NO;
}
also you may want to return no for cut: also assuming you don't want the user to remove text from the textView.
Also these don't need to be if else statements as they don't depend on each other
They are actually called in this order
cut:
copy:
select:
selectAll:
paste:
delete:
So remove functionality as appropriate.