Yes, you need to create your own subclass UIView.
But you can easily support keyboard input by accepting a protocol UIKeyInput, redefining canBecomeFirstResponderit to return YESand add UITapGestureRecognizer:
[self addGestureRecognizer:
[[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(becomeFirstResponder)]];
I want to allow the user to select ranges of text and use auto-correction, which is more complicated: you need to accept the protocol UITextInput.
Keyboard setup is very simple:
inputAccessoryView, , ,inputView, , .