在UISplitViewController内弹出UINavigationController会导致奇怪的转换

时间:2012-04-01 06:16:29

标签: ios ipad uinavigationcontroller uisplitviewcontroller

我在UINavigationController的主视图中使用UISplitViewController。在UINavigationController内,我像往常一样UITableViewController。在此表视图中选择一个单元格会将新的UINavigationItem推送到堆栈中。这种转变正如我所料。但是,一旦我按下,当我按下“返回”按钮时,返回到顶部UINavigationItem的过渡不会像往常一样从左向右滑动。相反,屏幕变黑,主视图将UINavigationController / UITableViewController从顶部向下滑动到屏幕中央,然后UINavigationController显示在我期望的左侧。我发现了类似的问题,但所有可接受的答案都围绕着不正确处理旋转问题。我已经仔细检查过我的所有视图控制器都会为所有方向返回YES

2 个答案:

答案 0 :(得分:1)

在我的视图中实现以下控制器为我解决了它

-(NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskAll;
}

希望它也适合你

答案 1 :(得分:0)

你应该检查你已经推入UINavigationController的视图控制器中的- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation方法的实现。

   - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
    {
     // should return YES for all orientations
     // or at least for orientation that your UINavigationController supports.
    }

对我来说,此问题仅出现在iOS 5上,但如果您在iOS 6上也遇到此问题,则可以类似方式实施-(NSUInteger)supportedInterfaceOrientations

我希望它会对你有所帮助。