锁定/解锁iOS中的方向更改

时间:2014-02-25 05:04:03

标签: ios

我正在iOS中开发一个应用程序。我需要通过单击按钮来锁定或解锁方向。

我也检查了this链接。

我需要在单击按钮上锁定屏幕,如果再次单击则表示需要解锁。

我尝试过使用此代码,但没有用。

- (BOOL)shouldAutorotateToInterfaceOrientation:
(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
            interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}


-(NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationPortrait | UIInterfaceOrientationLandscapeLeft | UIInterfaceOrientationLandscapeRight |UIInterfaceOrientationPortraitUpsideDown;
}

感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

如果您想在按钮上单击锁定旋转,则可以使用。

- (BOOL)shouldAutorotate
{
   if (autorotate) {
     return YES;
   } 
   else
   {
     return NO;
   }
}

因为shouldAutorotateToInterfaceOrientation现在已弃用。

使用此方向将锁定在当前方向。

答案 1 :(得分:0)

我发现了一些非常有意义的东西,你可以这样做来锁定旋转

  

[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications];

然后再次启用

  

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];

非常简单

在使用7.1.1的真实Iphone设备上进行测试时,该文档称它自iOS 2.0起可用,因此必须在所有设备上使用
参考: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIDevice_Class/Reference/UIDevice.html#//apple_ref/occ/instm/UIDevice/endGeneratingDeviceOrientationNotifications