Я использую делегат приложения для обмена мнениями. Сначала я удаляю текущий вид, затем добавляю новый вид, затем запускаю кварцевую анимацию.IPHONE: после удаления/добавления подъявлений в делегате приложения, изменения ориентации не удались
Независимо от того, какой вид я загружаю сначала, изменения ориентации происходят, как ожидалось. Как только я начинаю добавлять новые виды (удаление старого) в окно в делетете приложения, изменения ориентации больше не происходят. Предположим, что во всех моих UIViewControllers присутствуетAutorotateToInterfaceOrientation присутствует YES.
Я вынул кварцевую анимации и здесь, где я до сих пор застрял:
-(void) showSongList {
[songVC.view removeFromSuperView];
navVC = [[NavigationViewController alloc] initWithNibName:0 bundle:0];
[window addSubView:navVC.view];
[songVC release];
songVC = nil;
}
просмотров Переключатель работает отлично. Первое представление всегда отвечает и переключает ориентацию, затем любые изменения, которые я делаю в окне, добавляя представления (всегда удаляя предыдущие), уменьшают изменения ориентации.
Если я сразу же загружу navVC, он будет вращать ориентацию, но когда он будет дальше по строке от события кнопки, я получаю проблему ориентации, которую я описал.
NSLog (@ "subview count =% d", [[window subviews] count]); // always 1
Я попытался использовать NSLog в didRotateFromInterfaceOrientation, и эта функция, очевидно, вызывается только при изменении ориентации.
В окне делегата приложения всегда есть только одно подзаголовок, поэтому я потерян!