title: Disable tap and hold in UITextView
body: <p>Is there a way to disable the tap <strong>and hold</strong> in an UITextView?</p>
  
  <p>I currently have a subclass of UITextView which implements:</p>
  
  <ul>
  <li><p><strong><code>caretRectForPosition:</code></strong>, which always returns <code>CGRectZero</code> to hide the caret</p></li>
  <li><p><strong><code>addGestureRecognizer:</code></strong>, which is implemented to disable <code>UITapGestureRecognizer</code> and <code>UILongPressGestureRecognizer</code> gestures</p></li>
  </ul>
  
  <p><strong>Next to to these methods I've also implemented <code>-canPerformAction:withSender:</code>, which just returns <code>NO</code>, but this method does not even get called (I've put a breakpoint there).</strong></p>
  
  <p>Now everything works as I need it to work, but sadly the user can still <strong>tap and hold</strong> the textfield. This causes a magnifier to appear and also makes the textfield selectable. I've logged the attached gestures with <code>[self gestureRecognizers]</code> and received the following array:</p>
  
  <pre><code>&lt;__NSArrayI 0x18e50b10&gt;(
  &lt; UITapGestureRecognizer: 0x18f60a80; state = Possible; enabled = NO; view = &lt;CDICTextField 0x18f55ff0&gt;; target= &lt;(action=pinFieldTapped:, target=&lt;CDICPINWizardViewController 0x18f53ee0&gt;)&gt;&gt;,
  &lt; UITextTapRecognizer: 0x18e344d0; state = Possible; enabled = NO; delaysTouchesEnded = NO; view = &lt;CDICTextField 0x18f55ff0&gt;; target= &lt;(action=oneFingerTripleTap:, target=&lt;UITextInteractionAssistant     0x18e34440&gt;)&gt;; numberOfTapsRequired = 3&gt;,
  &lt; UITextTapRecognizer: 0x18e34610; state = Possible; enabled = NO; delaysTouchesEnded = NO; view = &lt;CDICTextField 0x18f55ff0&gt;; target= &lt;(action=oneFingerDoubleTap:, target=&lt;UITextInteractionAssistant     0x18e34440&gt;)&gt;; numberOfTapsRequired = 2&gt;,
  &lt; UITextTapRecognizer: 0x18e34740; state = Possible; enabled = NO; delaysTouchesEnded = NO; view = &lt;CDICTextField 0x18f55ff0&gt;; target= &lt;(action=twoFingerSingleTap:, target=&lt;UITextInteractionAssistant     0x18e34440&gt;)&gt;; numberOfTouchesRequired = 2&gt;,
  &lt; UITapAndAHalfRecognizer: 0x18e34870; state = Possible; view = &lt;CDICTextField 0x18f55ff0&gt;; target= &lt;(action=tapAndAHalf:, target=&lt;UITextInteractionAssistant 0x18e34440&gt;)&gt;&gt;,
  &lt; UILongPressGestureRecognizer: 0x18e33830; state = Possible; enabled = NO; delaysTouchesEnded = NO; view = &lt;CDICTextField 0x18f55ff0&gt;; target= &lt;(action=twoFingerRangedSelectGesture:, target=&lt;    UITextInteractionAssistant 0x18e34440&gt;)&gt;&gt;,
  &lt; UITextTapRecognizer: 0x18e34a70; state = Possible; enabled = NO; delaysTouchesEnded = NO; view = &lt;CDICTextField 0x18f55ff0&gt;; target= &lt;(action=oneFingerTap:, target=&lt;UITextInteractionAssistant     0x18e34440&gt;)&gt;&gt;,
  &lt; UIVariableDelayLoupeGesture: 0x18e34b90; state = Possible; enabled = NO; delaysTouchesEnded = NO; view = &lt;CDICTextField 0x18f55ff0&gt;; target= &lt;(action=loupeGesture:, target=&lt;UITextInteractionAssistant     0x18e34440&gt;)&gt;&gt;
  )
  </code></pre>
  
  <p>Checking the array I do see all gestures report <code>enabled = NO</code>, except for the <code>UITapAndAHalfRecognizer</code> (which is not even a visible class to us developers).
  Now I'm not sure if that gesture is the culprit. If so, I've got no idea how to disable that one as well.</p>
  
  <p>I've searched SO for answers, but couldn't find one. Moreover the <code>-canPerformAction:withSender:</code> does not get called, which is probably because no action is being performed. The <code>UIMenuViewController</code> also isn't visible (I do not see the black bar with <em>Select/Copy/Paste</em> etc.), just a magnifier.</p>
  
  <p>The <code>UIViewController</code> where the UITextField resides implements:</p>
  
  <hr>
  
  <p>Again, what I <em>DO</em> want is:</p>
  
  <ul>
  <li>Make the UITextfield editable, but not selectable</li>
  <li>Disable all gestures (double tap, tap and hold, long press)</li>
  </ul>
  
  <p>What I <em>DON'T</em> want is:</p>
  
  <ul>
  <li>The UITextField responding to select/copy/paste etc.</li>
  <li>Show a magnifier in any way</li>
  </ul>
  
  <p>The reason as of 'why' is I'm making a sort of PIN-screen where I want the user to enter a number in the fields I want (since I'm bound to using textfields, please don't offer any other ways of creating a PIN-screen).</p>