Я пытаюсь перейти от одного UIView к другому, когда пользователь поворачивает устройство. Это само по себе не сложно. Однако, поскольку я отображаю совершенно другой контент после поворота, анимация по умолчанию, предоставляемая UIKit (вращение отображаемого в данный момент представления), концептуально неуместна.
Простое отключение анимации и переключение представлений внезапно допустимо, но оно намного ниже того блеска, который я встраиваю в остальную часть приложения. Я бы предпочел сделать следующее:
При вызове shouldAutorotateToInterfaceOrientation: я хотел бы получить непрозрачный снимок экрана, если хотите, снимок экрана пользовательского представления перед поворотом. Затем, после завершения поворота и применения системой преобразований вида и т. Д., Я могу показать сохраненный снимок и анимировать переход по своему выбору в новый вид. После его завершения я могу снять свой снимок и двигаться дальше.
Есть ли способ сделать это, что не дорого?
Единственный другой вариант, который я могу придумать, - это возвращать NO для всех ориентаций, кроме моей по умолчанию, а затем реагировать, применяя мои собственные анимации и преобразования. Однако я бы предпочел использовать систему для этого, так как я чувствую, что, скорее всего, это делает сам, что может вызвать «неопределенное» поведение клавиатуры в представлении, повернутом вручную, и т. Д.
Мысли