我正在使用我的应用程序委托来替换视图。首先我删除当前视图,然后添加新视图,然后运行一个石英动画。IPHONE:在App Delegate中删除/添加子视图后,方向更改失败
无论我首先加载什么视图,方向变化都按预期发生。只要我开始向应用程序委托中的窗口添加新视图(删除旧视图),方向更改不再发生。假设shouldAutorotateToInterfaceOrientation在所有我的UIViewControllers中都带有YES。
我拿出石英动画,这里是我还是坚持:
-(void) showSongList {
[songVC.view removeFromSuperView];
navVC = [[NavigationViewController alloc] initWithNibName:0 bundle:0];
[window addSubView:navVC.view];
[songVC release];
songVC = nil;
}
切换视图正常工作。第一个视图总是响应并切换方向,然后我对窗口添加视图所做的任何更改(始终删除前一个视图)会减少方向更改。
如果我加载navVC马上就会旋转方向,但若进一步的下降从一个按钮事件的线,我得到我所描述的定位问题。
的NSLog(@ “子视图计数=%d”,[[窗口子视图]计]); //始终为1
我在didRotateFromInterfaceOrientation使用的NSLog试图和这个功能明显时的取向发生变化时,才会调用。
我的应用程序代理窗口始终只有一个子视图,所以我输了!