Во-первых, когда вы говорите, что «это швы, яблоко тоже хочет перевернуть», это очень удивительно. Большинство приложений iOS явно не поддерживают перевернутую ориентацию, поскольку зачастую это является плохим пользовательским интерфейсом. Они поддерживают только портрет и левый / правый пейзаж.
Далее, не добавляйте подпредставления непосредственно к победе dow
. Это почти всегда неверно и обходит встроенную логику вращения (как вы обнаружили). Просто используйте UIViewController
. Вот для чего это. Вы можете (хотя обычно не должны) добавлять элементы в window.rootViewController.view
, но это действительно только для специализированных задач (таких как перетаскивание через одноранговые представления). Просто используйте контроллер представления. Это решит 90% ваших проблем из коробки.
Вместо того, чтобы иметь один контроллер представления на страницу, просто используйте один PageViewController, который изменяет, какую страницу он отображает. Затем PageViewController может поместить все эти дополнительные элементы пользовательского интерфейса в представление.