Also you can try to use property of textField : inputView
The custom input view to display when the text field becomes the first responder.
So, you can show this view instead of keyboard, and don't handle it manually.
Or:
Wrong behavior for now occur, because keyboard for second textfield is shown also. So you need not only to resign first responder of first field, but also implement:
-(BOOL) textFieldShouldBeginEditing:(UITextField *)field {
return NO;
}