Apple предлагает несколько различных советов по поддержке нескольких ориентаций в своем Руководстве по программированию View Controller в разделе «Управление ориентацией интерфейса View Controller».Возможно, вы захотите прочитать этот раздел, чтобы увидеть, подойдет ли какое-либо из их предложений к вашим потребностям.
При этом я использовал стратегию, которую вы представили выше в приложении, и она, похоже, работает довольно хорошо.
Чтобы решить вашу проблему с «сбросом» представлений, я бы предложил вам сохранить ссылку на данные, вводимые пользователем, когда они переходят от контроля к контролю.Затем, когда ваша ориентация изменится, вы можете снова заполнить элементы управления, чтобы пользовательский «прогресс» не был потерян.