代码之家  ›  专栏  ›  技术社区  ›  Eric

如何临时锁定iPad/iPhone方向

  •  6
  • Eric  · 技术社区  · 14 年前

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

    我目前正在做:

    [[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications]
    

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

    [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]
    

    虽然这一切似乎都有效,但API文档指出 开始 其次是 结束 -我做的基本上是相反的。是否有更适合处理“锁定方向”的API?

    1 回复  |  直到 12 年前
        1
  •  10
  •   slf    14 年前

    我认为这和不响应控制器的方向变化一样简单。根据传递的参数,可以有条件地返回true或false,而不必总是返回true。

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