【问题标题】:Unable to rotate a view无法旋转视图
【发布时间】:2012-02-09 18:26:02
【问题描述】:

我正在使用 Xcode 4.2 开发故事板应用程序。

我正在尝试旋转视图,但它不起作用。我确保该应用支持摘要和“信息”部分中的 4 次轮换。

我有两种支持的方向:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    if (UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad) { //check if device is iPad
        return YES;
    }
    else
        return NO;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return YES;
}

我在 iPhone 模拟器上尝试过,但它无法正常工作,但对于 iPad,它工作得非常好......有什么原因吗?

如果这有什么不同,我正在使用 Tab Bar 视图控制器...

【问题讨论】:

  • 你期待什么? iPad和iPhone都自动旋转?第一种方法说自动旋转仅适用于 iPad
  • 我希望旋转 ipad 中的所有视图和 iphone 中的一些视图。在某些视图中,我使用第一种方法,而在其他视图中,我使用第二种方法。在 ipad 上,所有视图都完美旋转,但我选择在 iPhone 上旋转的视图(使用第二种方法)不旋转
  • “不工作”是什么意思?它是针对所有视图旋转还是根本不旋转?你把这个方法放在哪里?应该在 UIViewController 而不是 UIView
  • 不工作意味着应该旋转的视图根本没有旋转我的所有类都继承自 UIViewController

标签: objective-c rotation xcode4.2 storyboard


【解决方案1】:

来自this 文档

UITabBarController 中的所有子视图控制器或 UINavigationController 不同意共同的方向集。到 确保您的所有子视图控制器正确旋转,您 必须为每个视图实现 shouldAutorotateToInterfaceOrientation 表示每个选项卡或导航级别的控制器。每个人都必须同意 在相同的方向上旋转发生。也就是说,他们都 对于相同的方向位置,应该返回 YES。

所以请确保标签栏控制器中的所有视图控制器都返回 YESshouldAutorotateToInterfaceOrientation:

【讨论】:

  • Each must agree on the same orientation for that rotate to occur. That is, they all should return YES for the same orientation positions 不知道。谢谢
猜你喜欢
  • 2011-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多