2010-05-06 64 views
3

我想在我的应用程序中实现自动旋转,基本上UINavigationController有很多UIViewControllers被推到它上面。shouldAutorotateToInterfaceOrientation&UINavigationController

我已经复制粘贴此我第一次的UIViewController(也被压入的UINavigationController):

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

一切都工作得很好......但是,如果我在那个代码到第二的UIViewController粘贴(即第一一个按钮点击后,一个顶部) - 自动旋转将不起作用。当UIViewController初次初始化时,shouldAutorotateToInterfaceOrientation被调用,但在它可见并旋转设备后 - 什么都不会发生。

所以结果是:第一视图获取旋转以及 - 纵向/横向...但我按一下按钮,进入我仍然坚持成纵向或横向,不管是积极的第二种观点之后。

我试着子类的UINavigationController和设置shouldAutorotateToInterfaceOrientation存在,但也不能正常工作。

我在做什么错?

+0

请参阅我的答复在这里作为附加信息:http://stackoverflow.com/questions/3213885/ipad-orientation-change-issue/3239351#3239351 – iwasrobbed 2010-07-13 16:45:05

回答

1

所有视图有不使其第二视图的工作API中的错误。我最初使用setOrientation解决它,但这是一个私人API,因此不是一个合理的解决方案。我还没有发布任何新版本的应用程序,而我试图找出替代方案(并且我不认为客户升级到OS 4.0是一种解决方案)。我想我需要手动跟踪方向并手动旋转我的视图以抵消错误旋转的影响。

+0

请参阅我的答复在这里作为附加信息:http://stackoverflow.com/questions/3213885/ipad-orientation-change-issue/3239351#3239351 – iwasrobbed 2010-07-13 16:44:37

0

你需要实现这个方法在层次结构

+0

我说有问题,我试图在所有的意见(和它只适用于第一视图)。 – kape123 2010-05-06 21:51:44

相关问题