Есть ли у вас какой-либо из следующих методов в вашем подклассе UIViewController?
- (void)willAnimateFirstHalfOfRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration;
- (void)didAnimateFirstHalfOfRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation;
- (void)willAnimateSecondHalfOfRotationFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation duration:(NSTimeInterval)duration;
Если это так, вы идете по пути из двух частей, и метод из одной части willAnimateRotationToInterfaceOrientation:duration:
не будет вызван.
UPDATE:
В ответ на обновление xonegirlz выше:
Родительский навигационный контроллер (UINavigationController) ничего не знает о вашем UIViewController - вы связали представления вместе в иерархии представлений, но не контроллеры представления вместе в контроллере иерархия.
Если вы нацелены на iOS 5, вы можете позвонить -[UIViewController addChildViewController:]
на UINavigationController, чтобы сообщить об этом ребенку.
Для iOS 4 вам нужно использовать -[UINavigationController pushViewController:animated:
или -[UIViewController presentModalViewController:animated:]
для установки правильной иерархии контроллера представления.
Если это не вариант, вам нужно создать подкласс родительского контроллера представления и вручную перенаправить методы вращения на ваш дочерний контроллер представления.