We can handle these by Calling Notifications for KeyboardDidShow/ KeyboardWillShow methods. But when default KeyBoard is there on the screen at that time these notification methods are not called in that case we have to call the method for calling the DONE button as the keyboard subview.
On the DONE button press we can remove the DONE button from the keyboard.So that it will not appear with the Default Keyboard and also remove its notification.
On the TextFieldDidBeginEditing method of Default type Keyboard TextField we can remove the DONE button from the Superview and also remove the Notifications.
On the TextFieldDidBeginEditing method of Phone Keyboard TextField we will call the Notifications for keyboardWillShow/KeyboardDidShow also the method for calling the DONE Button on the Keyboard.
In Done Button adding method we will identify the type of Keyboard and if the Keyboard is phone type then check for it subviews. If it has button as subview then we will not add DONE button it to avoid multiple addition of the DONE button.