I saw many iPhone apps contains some custom buttons over the default keyboard to perform some actions. See this image..

Here the arrow button was used to resign the keyboard.
My doubts:
-
Should I make a custom keyboard for this? I can simply show the button separately on a fixed view over keyboard. But what about the show/hide animation. I want to show/hide the button with respect to the move of keyboard. Is it possible if I use the fixed view over keyboard?
-
Will Apple reject my app if I customize the default keyboard behavior? (If yes, then how these apps are available in AppStore??)
-
Here is a sample project that adds a UIButton in the top of the keyboard. But I dont want to make it with IB.
Any suggestions?
I found that, it is so simple to make those buttons with iOS 6 by the method
setInputAccessoryView:. For below iOS6, we have to create some custom views and set their frame on the top of keyboard frame. See this for more information.