如何以编程方式锁定/解锁iphone的方向锁?

时间:2011-11-09 13:17:52

标签: iphone ios4

我们知道锁定/解锁iPhone 3G方向的这些简单步骤:

From any screen, double-tap the home button
Scroll as far left as you can on the multitasking dock
The first symbol to the left will be a circular arrow
Select this to either lock or unlock the orientation of your iPhone 3G

但我们如何以编程方式执行此操作?

2 个答案:

答案 0 :(得分:4)

您是否在询问是否可以为您的应用执行此操作或锁定设备本身的方向?在我看来你要求后者,我不得不问你为什么要这样做。无法锁定设备的方向,因为这样也可以锁定其他应用程序的纵向模式。

但是,您只能支持自己想要的方向。许多应用程序仅支持纵向模式,而游戏通常仅支持横向。

您可以在XCode中设置应用支持的设备方向。在viewcontroller。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}

假设您想同时支持横向方向。

答案 1 :(得分:2)

您无法以编程方式执行此操作 - 应用更改影响其他所有内容的设置将是完全错误的。

在您自己的应用中,您可以通过在UISupportedInterfaceOrientations中设置info.plist来限制支持的方向(请参阅文档here)。您还可以通过shouldAutorotateToInterfaceOrientation限制每个视图的方向(请参阅文档here