К сожалению, в текущей версии iPhone OS этого нет.
Основная причина в том, что результат shouldAutorotateToInterfaceOrientation: кэшируется, поэтому вы не должны изменять его время выполнения.Поэтому, если вы переключитесь на другое представление в том же контроллере представления, оно не изменит ориентацию независимо от того, что вы делаете (или будет, но позже будет работать неправильно).
Я предлагаю вместо этого использовать контроллер модального представления,Вы не сможете показывать анимацию при переворачивании (или не легко), но изменения ориентации должны работать нормально.