Is there a way to prevent the user from moving the cursor in a UITextField? I'd like it to stay at the end of the string.
I don't know that there's a built-in way to do it...perhaps you could subclass UITextField and handle the touch events yourself?
There's no way to prevent them from moving the cursor. You can, however, prevent them from editing the text except at the end by implementing the
– textField:shouldChangeCharactersInRange:replacementString:
method in your text field's delegate.
Edit: you can also set userInteractionEnabled
to NO
so that the user can't tap the field. Call becomeFirstResponder
manually so that the field gets focus since the user can't tap to focus.
I haven't check if you can disable the magnifying glass, but the recommended way to selectively disable editing behavior in a UIResponder (and thus a UITextField) is to implement canPerformAction:withSender
of UIResponder
.
See UIResponder documentation.
Maybe if you return "NO" for the select and selectAll action you can disable it.
Another, more brutal, way is to intercept any touch event and reset the cursor to the end.