views:

71

answers:

2

By default, if you shake the iPhone while entering text in a UITextField, a little box will appear asking if you want to undo typing. How can I prevent this from happening? I looked through the UITextField, UITextFieldDelegate, and UITextInputTraits docs and found nothing relating to shaking.

Presumably I could subclass UITextField to ignore the shake event, but I'm not exactly confident in my ability to not screw other things up. I'd love something like

textField.respondsToShake = FALSE;

What's the best way to do this?

+1  A: 

You could try to subclass UITextField and override canPerformAction:withSender: in such a way that it will disallow the undo: action. But then you lose undo both by shaking and through the context menu.

St3fan
Thanks! I didn't mention that I wasn't worried about removing undo entirely in application, and it looks like there's an easier way, but this is a nice answer that I'll probably use in the future.
Jesse Beder
+4  A: 
[UIApplication sharedApplication].applicationSupportsShakeToEdit = NO;
Aaron Saunders