Я просто долгое время боролся с этим, поэтому запишу это для других.Перемещение UIVIewController модально вверх, когда клавиатура появляется независимо от вращения с помощью iOS7
Вот проблема, с которой я столкнулся. С iPad-приложением, поддерживающим iOS7, у меня есть modal view controller, у которого есть текстовое поле в нижней части модального. Таким образом, когда появляется клавиатура, я хотел бы переместить этот модальный текст так, чтобы текстовое поле все еще было видимым с присутствующей клавиатурой. С iOS8 эта проблема имеет довольно чистое решение (например, см. Moving a modally presented UIViewController up when keyboard appears on iPad with iOS8). С iOS7 я использовал self.myNavController.view.superview.center для репозиционирования, но столкнулся с проблемами при попытке переместить модальность, учитывая внешний вид клавиатуры. Координированные корректировки CGPoint, которые я использовал, не будут перемещать модальный в правильном направлении со всеми четырьмя поворотами/ориентациями iPad.
Проблема частично заключается в том, как iOS7 выполняет поворот - с преобразованиями. Однако я не смог решить проблему с помощью CGPointApplyAffineTransform или преобразовать точки, используя представления (например, convertPoint: fromView :).