【问题标题】:Want to lock orientation for app想要锁定应用程序的方向
【发布时间】:2013-11-20 03:01:47
【问题描述】:

如果服务器发送“锁定”消息,我想锁定整个应用程序的方向。当服务器发送“解锁”方向时,我希望应用程序自动旋转。我将值“Lock”存储在 NSUSerDefaults 中。在 rootViewcontroller 中,它工作正常,就像 Lock 为真、 shouldAutoRotate 方法返回 NO 并且视图不旋转一样。但是在其他视图控制器中,即使 lock 为真, shouldAutoRotate 也返回 No,但 View 仍在旋转。

我为自动旋转创建了一个 UINavigationController 类别,以便从每个类中调用 shouldAutorotate 方法。

- (BOOL)shouldAutorotate
{
    NSString *AUTO_ROT =[[NSUserDefaults standardUserDefaults]valueForKey:@"AUTOROT"];

    if([AUTO_ROT caseInsensitiveCompare:@"true"] == NSOrderedSame)
    {
        return YES;
    }
    else{
        return NO;
    }
}

请帮帮我。

【问题讨论】:

    标签: ios rotation locking device-orientation


    【解决方案1】:

    您确定旋转视图控制器也是 UINavigationController 的子视图控制器(即您是否将其推送到 UINavigationController 上)?

    如果你使用 presentViewController:animated:completion: 展示它,例如视图控制器本身也需要实现 shouldAutorotate。

    另外,请注意overriding via category。更好的方法是继承 UINavigationController 并覆盖子类中的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-16
      • 1970-01-01
      • 1970-01-01
      • 2022-11-03
      • 2013-12-06
      • 2016-03-22
      • 2019-08-29
      相关资源
      最近更新 更多