UIWindow подвопросы не автоматические - PullRequest
2 голосов
/ 03 августа 2011

Я переключаюсь с контроллера раздельного просмотра, чтобы получить два вертикальных представления таблицы рядом, как приложение настроек. В iPad App Delegate я пишу следующий код:

rootViewController.view.frame = CGRectMake(0, 20, 270, 1004);
[window addSubview:rootViewController.view];

detailViewController.view.frame = CGRectMake(270,20, 498, 1004);
[window addSubview:detailViewController.view];

[window makeKeyAndVisible];

Это прекрасно работает, чтобы все отображалось на портрете так, как должно. Однако, когда я поворачиваю устройство, мой rootViewController вращается, а контроллер подробного представления - нет. В обоих моих контроллерах я реализую

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return YES; }

Что я делаю не так?

1 Ответ

2 голосов
/ 03 августа 2011

Это ожидаемое поведение.Только «первый» вид в UIWindow будет иметь поворот, управляемый окном.См. Технические вопросы и ответы QA1688 для получения подробной информации.

Если вы не собираетесь использовать UISplitViewController, следующая лучшая вещь будет состоять в том, чтобы исключить ваши корневые и детальные контроллеры представления и управлять представлениями из одного родителя.UIViewController.

И если вы не хотите этого делать, вы можете попробовать добавить rootViewController.view и detailViewController.view в качестве подпредставлений внутри одного UIViewController верхнего уровня, но имейте в виду, что вам придется управлять всеми/ действительно появился / исчезает, и метод поворота вызывает субконтроллеры самостоятельно, и некоторые вещи сломаются, потому что субконтроллеры parentViewController будут иметь значение ноль, а не контроллер верхнего уровня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...