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.
Open "General" in the Settings app, then tap "AirPlay & Handoff." Next, toggle off the "Handoff" switch, and your iPhone will no longer give up its clipboard to other devices or have its clipboard taken over by other devices.
In both iOS and Android, tap and hold on the text you want to copy, then drag the selector lines around all the text you want to copy, and tap Copy. Then tap and hold anywhere where you want to paste the text, and tap Paste.
UITextView supports the display of text using custom style information and also supports text editing. You typically use a text view to display multiple lines of text, such as when displaying the body of a large text document. This class supports multiple text styles through use of the attributedText property.
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.
Create a subclass of UITextField and overrride the method canPerformAction:withSender: in that class.
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
if (action == @selector(paste:) ||action == @selector(copy:))
{
return [super canPerformAction:action withSender:sender];
}
return NO;
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With