На основе документации для UIPopoverController (выделение добавлено):
Если пользователь поворачивает устройство, когда всплывающее окно видно, контроллер всплывающего окна скрывает всплывающее окно и затем показывает его сновав конце вращения .Контроллер всплывающих окон пытается расположить поповер надлежащим образом для вас, но вам, возможно, придется представить его снова или скрыть его в некоторых случаях.Например, при отображении из элемента панели кнопок контроллер поповер автоматически регулирует положение (и, возможно, размер) панели для учета изменений в положении элемента кнопки панели.Тем не менее, если вы удалите элемент панели кнопок во время поворота, или если вы представили поповер из целевого прямоугольника на виде, контроллер поповер не будет пытаться переместить поповер.В этих случаях вы должны вручную скрыть всплывающее окно или снова представить его из соответствующей новой позиции.Вы можете сделать это в методе didRotateFromInterfaceOrientation: контроллера представления, который вы использовали для представления всплывающего окна.
Может показаться, что вызов [toolsPopoverController dismissPopoverAnimated: YES] в willAnimateRotationToInterfaceOrientation: метод, который вы закрываете с анимацией, пока всплывающее окно скрыто во время перехода вращения.
Если вы вызываете метод dismissPopoverAnimated: YES в методе didRotateFromInterfaceOrientation: вместо этого, поведение по умолчанию с поповером в новой позиции должно присутствовать до вызова анимации отклонения.
Если анимация по умолчанию все еще не соответствует тому, что вы ищете в данный момент, я бы создал пользовательский блок анимации и управлял бы затуханием или явно изменял размеры в соответствии с вашими потребностями.