2011-01-06 87 views
3

我需要一种方式来停用自动选择UITextView有没有办法阻止从textview复制/粘贴?

alt text

我取消所有从界面生成器的属性,但是当我接触到的文字,选择出现!

有没有解决方法?魔术技巧?

谢谢。

+1

'userInteractionEnabled = NO;`为你的目的工作吗? – thelaws 2011-01-06 19:01:19

回答

5

您需要创建UITextView的子类并覆盖canPerformAction方法。

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender 
{ 
    if (action == @selector(copy:) 
     return NO; 
    return [super canPerformAction:action withSender:sender]; 
} 

你可以从canPerformAction期望选择值可以在UIResponderStandardEditActions Protocol Reference

UIResponder Class Reference发现也将有所帮助。

canPerformAction:withSender:

如果响应 类实现请求的操作 并调用下一响应,如果它 没有这本 方法的默认实现返回YES。子类可以覆盖此方法以在当前状态上启用基于 的菜单命令;例如,如果 是一个选择项,则 将启用“复制”命令,如果粘贴板不包含 包含正确的 粘贴板表示类型的数据,则会启用“粘贴” 命令。如果响应者链 中的响应者没有 返回YES,则禁用菜单命令 。

0

UIResponder Class Reference

因此,创建的UITextView一个子类覆盖canPerformAction:withSender:方法和返回“不”,你不希望在TextView的执行的每一个动作。