Because a custom keyboard does not have access to the current text
input object, you cannot send it a resignFirstResponder() message (as
you would to dismiss the system keyboard when you are developing an
app with text entry). To dismiss the custom keyboard, call
dismissKeyboard() instead.