Исходя из того, что вам нужно, следующий код должен иметь одну и ту же кнопку, чтобы скрывать и показывать клавиатуру для textField
if ([textField isFirstResponder]) {
[textField resignFirstResponder];
} else {
[textField becomeFirstResponder];
}
edit
Вы также можете вставить код для изменения названия кнопки в цикле if.
Подходящее место для размещения кода для изменения названия кнопки будет в методах делегата textField -textFieldDidBeginEditing:
и -textFieldDidEndEditing: