Есть метод willAnimateRotationToInterfaceOrientation:duration:
, из документов:
Реализация по умолчанию
этот метод ничего не делает. если ты
переопределить этот метод, вы не должны
переопределить либо
willAnimateFirstHalfOfRotationToInterfaceOrientation: продолжительность:
или же
willAnimateSecondHalfOfRotationFromInterfaceOrientation: продолжительность:
способ.
Этот метод вызывается из
анимационный блок, который используется для поворота
вид. Вы можете переопределить этот метод
и использовать его для настройки дополнительных
анимации, которые должны происходить во время
вращение вида. Например, вы
может использовать его для регулировки уровня масштабирования
вашего контента, поменяйте скроллер
положение, или изменить другой анимируемый
свойства вашего взгляда.
Полагаю, вы можете изменить его отсюда, а также до и после с помощью – willRotateToInterfaceOrientation:duration:
и – didRotateFromInterfaceOrientation:
.
Это кажется мне неэффективным и неподходящим, поскольку фактически не заменяет переход.
Я бы создал категорию в UIView, которая включает такие методы, как - willRotateUsingTransition:
, и передал бы параметр, который скажет ему исчезнуть, а затем установил бы альфа представления в ноль. В каждом подклассе переопределите это, чтобы включить любые подпредставления, которым необходимо изменить их альфа, если это применимо. Вызывайте этот метод, когда представления должны быть повернуты (с помощью методов, описанных выше), а затем метод очистки, который восстанавливает альфы, когда они появятся снова.
Редактировать: Docs Docs Docs. Беглый взгляд, опять же, показывает этот метод: - (void)willAnimateSecondHalfOfRotationFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation duration:(NSTimeInterval)duration
, который я считал устаревшим. В рамках обсуждения он содержит текст из второго абзаца, который я разместил в документах ранее.