如何暂时锁定iPad / iPhone方向

时间:2010-06-18 17:51:55

标签: iphone objective-c cocoa-touch ipad orientation

在我的应用程序中的某个时刻,我想暂时禁用旋转功能 - 有效地“锁定”代码中的方向,类似于锁定切换开关在iPad上的硬件锁定。

我现在正在做:

[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications]

当我通过时,我打电话给:

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]

虽然这一切似乎都有效,但API文档表明应始终有一个开始后跟一个结束 - 我基本上是反过来的。是否有更合适的API来处理“锁定方向”?

1 个答案:

答案 0 :(得分:10)

我认为这很简单,因为没有响应控制器的方向变化。您可以有条件地返回true或false,具体取决于您传递的参数,您不必总是返回true。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    if (rand()%2 == 0) { // evaluate if I should allow rotate
      return YES;
    } else {
      return NO;
    }
}