В iOS 4.3 Apple представила вышеупомянутый метод disablesAutomaticKeyboardDismissal
.Он возвращает YES для UIModalPresentationFormSheet, предотвращая отклонение клавиатуры.
Переопределение этого метода работает, но , если вы представляете свой контроллер представления внутри UINavigationController, вы должны создать подкласс UINavigationController и переопределить метод там.
Я подтвердил, что это действительно работает на iOS 6. Просто обратите внимание на предложение UINavigationController.