"viewWillTransitionToSize:" не вызывается в iOS 9, когда контроллер представления представлен модально

Я представляю контроллер вида из другого:

- (void)showModalView
{
   UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
   MySecViewController *mySecViewController = [storyboard instantiateViewControllerWithIdentifier:@"secController"];
   mySecViewController.delegate = self;
   [self presentViewController:mySecViewController animated:YES completion:nil];
}

Тогда в представленном UIViewController метод viewWillTransitionToSize:withTransitionCoordinator: вызывается в iOS 8, но не в iOS 9...

Спасибо

Ответы

Ответ 1

В текущем контроллере представления, если вы переопределите viewWillTransitionToSize:withTransitionCoordinator:, убедитесь, что вы вызываете super. В противном случае это сообщение не будет распространяться на контроллеры просмотра детей.

Для Objective-C:

- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
    [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];

    // Your other code ... 

И Swift:

override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
    super.viewWillTransition(to: size, with: coordinator)

    // Your other code ...
}

Ответ 2

Может показаться тривиальным, но при использовании iPad проверьте, что пользователь не активировал блокировку вращения в настройках или панели управления или боковой кнопке