Все эти реализации, связанные с поиском вида клавиатуры и добавлением кнопки «Готово» в 3-й строке (именно поэтому button.y = 163 b / c, высота клавиатуры равна 216), хрупки, потому что iOS продолжает изменять иерархию представлений. Например, ни один из приведенных выше кодов не работает для iOS9.
Я думаю, что безопаснее просто найти самый верхний вид с помощью [[[UIApplication sharedApplication] windows] lastObject] и просто добавить кнопку в левом нижнем углу, doneButton.frame = CGRectMake (0, SCREEN_HEIGHT- 53, 106, 53); // портретный режим