"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 проверьте, что пользователь не активировал блокировку вращения в настройках или панели управления или боковой кнопке