Я настоятельно рекомендую вам посмотреть класс UIViewController
в документации и прочитать все это (если вы еще этого не сделали).Ключевые методы, которые вам нужны, включают willRotateToInterfaceOrientation:duration:
, описанные следующим образом:
willRotateToInterfaceOrientation: duration: Отправляется в контроллер представления непосредственно перед тем, как пользовательский интерфейс начинает вращаться.1009 *
Параметры toInterfaceOrientation
Новая ориентация для пользовательского интерфейса.Возможные значения описаны в UIInterfaceOrientation.duration
Продолжительность ожидаемого вращения, измеряется в секундах.Подклассы обсуждения могут переопределить этот метод для выполнения дополнительных действий непосредственно перед ротацией.Например, вы можете использовать этот метод, чтобы отключить интерактивные представления, остановить воспроизведение мультимедиа или временно отключить дорогостоящие чертежи или обновления в реальном времени.Вы также можете использовать его для замены текущего представления на то, которое отражает новую ориентацию интерфейса.Когда этот метод вызывается, свойство interfaceOrientation по-прежнему содержит исходную ориентацию представления.
Этот метод вызывается независимо от того, выполняет ли ваш код одношаговое или двухшаговое вращение.iOS 2.0 и более поздние версии.
Похоже, вы также должны включать:
- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return NO;
}