I have a UIView where I want to receive keyboard input. I have tried:
[self becomeFirstResponder];
But it doesn't work.
I could implement a 'dirty' workaround by having a hidden UITextField and forwarding the keystokes to my UIView - but how does my UIView receive the keyboard input directly?
For a view to become first responder and show the keyboard, it must adopt and implement the
UIKeyInput
protocol. It must also override thecanBecomeFirstResponder
method to return YES.See “Simple Text Input” in the Text Programming Guide for iOS.
Becoming a first responder will only show the keyboard if that object is meant for keyboard input like a text field. The idea of having a hidden text field is good but it also depends on what you need the keyboard input for, regarding your view. Getting the text form the hidden text field is trivial and that way the text or whatever you need there, can be used by your view.