У меня проблема с вращением на UISplitViewController
. В моем случае после вызова текущего модального режима на splitViewController
(этот splitViewController является корневым представлением окна), чтобы показать другое представление. Когда этот modalView вращается, splitView вращается неправильно.
splitView выглядит как повернутый, но DetailViewController
остается таким же, как на портрете, а RootViewController
вообще не отображается. Это все еще ведет себя как в портретном режиме. Кажется, что splitView вращается, но не базовые виды (DetailViewController
и RootViewController
).
Я пытаюсь реализовать willRotateToInterfaceOrientation
в modalView и вызывать метод splitView willRotateToInterfaceOrientation
с использованием делегата.
Это то, что я реализую в modalView:
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
[super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];
MacProjectAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
[delegate.splitViewController willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];
}
В результате DetailViewController
ведет себя корректно, но не с RootViewController
. Это остается скрытым. Он появится снова после того, как пользователь вручную переместится в книжную ориентацию и вернется в альбомную. Но, очевидно, пользователь не хотел этого.
Это то, что я сделал при представлении modalView:
ModalViewController *modalView = [[ModalViewController alloc] init];
MacProjectAppDelegate *delegate = (MacProjectAppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate.splitViewController presentModalViewController:modalView animated:YES];
[modalView release];
Есть ли способ показать RootViewController
в этом случае? Или я делаю что-то не так?
Edit:
Кажется, что все представления не вращались после modalView. ни RootViewController, ни DetailViewController не вращались (the didRotateFromOrientation
на обоих ViewController вообще не вызывался). Так что теперь я предполагаю, что он не вращался после устройства / modalView.