支持iOS库中的特定设备方向 - 一个地方更改

时间:2014-01-15 22:36:38

标签: ios objective-c cocoa-touch uiview uiviewcontroller

我有一个带有多个视图控制器的应用程序。我需要共享库。我的应用程序仅支持横向模式。我是否需要在所有视图控制器中实现以下方法以仅返回横向模式,或者是否可以为我的库执行任何一次更改。对于独立的应用程序我知道我们可以在info.plist中设置它,但该选项不在库中。有什么建议吗?

- (BOOL)shouldAutorotate;
- (NSUInteger)supportedInterfaceOrientations;

1 个答案:

答案 0 :(得分:1)

取决于,等等。

嵌入在导航控制器或标签栏控制器等内容中的视图控制器根据该控制器旋转。例如,如果您的整个应用程序嵌套在选项卡栏控制器中,您可以继承选项卡栏控制器并覆盖这些方法,现在您的整个应用程序都遵循这些规则,因为根控制器指示了轮换规则。

但如果你以模态方式显示视图,模态视图将有自己的轮换规则。

我能想到的最简单的事情是继承UIViewController并覆盖这些方法(并且只覆盖这些方法)。现在让你的每个视图控制器成为这个子类的子类。现在你的视图控制器都遵循你在超类中编写的逻辑。