覆盖shouldAutorotateToInterfaceOrientation方法

时间:2013-01-06 19:59:20

标签: objective-c ios5 ios6 autorotate

努力应用我的建设。我正在使用ECSlidingViewController,它通过使用以下方式添加新视图:

[self.view addSubview:_topViewController.view];

这一切都很好,直到我想在一个视图上禁用横向。我的应用程序在一个视图控制器上启动,我将自动旋转设置为禁用

- (BOOL)shouldAutorotateToInterfaceOrientation(UIInterfaceOrientation)interfaceOrientation {
    return NO;
}

当它作为子视图打开时,如何在另一个视图控制器中覆盖它?

非常感谢!

2 个答案:

答案 0 :(得分:0)

我不确定是否有一种简单的方法可以使一些屏幕只有肖像和其他两种;特别是如果你的一个视图已经处于横向模式并且你想要打开下一个肖像,那就太痛苦了。我不确定你的所有要求。您应该将supportedInterfaceOrientations与shouldAutoRotate一起使用。如果没有任何效果,请找出所需的方向和当前方向,并将变换应用于视图。

答案 1 :(得分:0)

view.transform = CGAffineTransformRotate(view.transform,phaseShift * M_PI / 2.0f);

根据设备方向和界面方向,你必须知道使用1或-1的phaseShift是什么。