You can add an InputAccessoryView that will sit on top of the virtual keyboard (the height is adjustable, but the width will always be) the width of the keyboard.
If you open the Safari application, when you click in the text box you will see a panel above the keyboard, this is an example of InputAccessoryView
On this accessory you can add a button that, when pressed, will reset the first responder to all relevant fields of the current view. This will reject the keyboard, regardless of what is currently in focus.
source share