IPHONE: после удаления / добавления подпредставлений в делегате приложения изменения ориентации не выполняются - PullRequest
1 голос
/ 24 февраля 2010

Я использую мой делегат приложения для обмена представлениями. Сначала я удаляю текущий вид, затем добавляю новый вид, затем запускаю кварцевую анимацию.

Независимо от того, какой вид я загружаю первым, изменения ориентации происходят, как и ожидалось. Как только я начинаю добавлять новые виды (удаляя старые) в окно в делегате приложения, изменения ориентации больше не происходят. Предположим, что mustAutorotateToInterfaceOrientation присутствует с YES во всех моих UIViewControllers.

Я вынул кварцевую анимацию, и вот где я все еще застрял:

-(void) showSongList {
  [songVC.view removeFromSuperView];
  navVC = [[NavigationViewController alloc] initWithNibName:0 bundle:0];
  [window addSubView:navVC.view];
  [songVC release];
  songVC = nil;
}

Переключатель просмотров работает нормально. Первый вид всегда реагирует и переключает ориентацию, затем любые изменения, которые я делаю в окне добавления видов (всегда удаляя предыдущий), уменьшают изменения ориентации.

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

NSLog (@ "счетчик просмотров =% d", [[количество просмотров окон]]); // всегда 1

Я попытался использовать NSLog в didRotateFromInterfaceOrientation, и эта функция, очевидно, вызывается только при изменении ориентации.

В моем окне делегата приложения всегда есть только одно подпредставление, так что я заблудился!

1 Ответ

1 голос
/ 24 февраля 2010

ОК, поэтому я понял, что делать ... Я создал UIViewController с именем SwapViewController и добавил к этому другие мои представления.

Я подумал, что это не сработало, когда я впервые попробовал, потому что я пошел вперед и добавил UIView программно. Но я думаю, учитывая, что UIViewController имеет функции ориентации, требуется контроллер представления.

Итак, создайте один контроллер представления подкачки и добавьте к нему подпредставления!

...