我正在使用UITextView在iPhone应用程序中工作。我想允许用户只能复制邮件并粘贴邮件。但我不想显示全选,选择,定义和其他。我按照以下代码来控制选项。但是,所有选项都显示在UITextView单击中。
- (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];
}
任何人都可以帮我这样做。而且我也不想在复制邮件时显示|.Text.|
。请帮我这样做。提前谢谢。
答案 0 :(得分:2)
首先,如果您上面的代码不起作用,那么您可能忘记将UITextView的类更改为实现上述方法的自定义类。
一旦你完成了你已经得到的东西应该工作,然后你应该返回no for select all
if (action == @selector(selectAll:))
{
return NO;
}
你也可能想要为剪切返回no:还假设你不希望用户从textView中删除文本。
此外,这些不需要if else语句,因为它们不依赖于彼此
实际上他们按此顺序调用
切: 复制: 选择: 全选: 糊: 删除:
因此,请根据需要删除功能。
答案 1 :(得分:2)
创建UITextField的子类并覆盖该类中的方法canPerformAction:withSender:。
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
if (action == @selector(paste:) ||action == @selector(copy:))
{
return [super canPerformAction:action withSender:sender];
}
return NO;
}