iPhone不会自动旋转颠倒

时间:2012-10-18 18:32:57

标签: iphone objective-c ios uiinterfaceorientation

我有

<key>UISupportedInterfaceOrientations</key>
<array>
    <string>UIInterfaceOrientationPortrait</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
    <string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
在info.plist中

并进行搜索并设置shouldAutorotateToInterfaceOrientation的每个实例以返回YES。但在iPhone上它表现得好像不支持颠倒。 UpsideUp肖像作品,风景作品,上下颠倒显示风景。为什么呢?

iPad可以在所有方向上正常工作。他们分享.xibs


更新

我已添加

- (BOOL)shouldAutorotate {
    return YES;
}

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskAll;    
}

shouldAutorotateToInterfaceOrientation的每个现有实例之后仍然没有爱。

我的定位是iOS 4.3 ,但我的模拟器和物理设备运行iOS 6

2 个答案:

答案 0 :(得分:6)

根据您已尝试过的内容需要更多上下文?您是否使用基于NIB的设置与导航控制器,标签栏控制器或类似的东西?如果是这样,您需要添加一个类别来支持它,因为您无法覆盖NIB(或一般)中这些类的实现

https://stackoverflow.com/a/12758715/490180

谈论iPhone 5,但问题实际上与iOS6有关。

答案 1 :(得分:-1)

这是设计的。原因是iPhone是一部手机,如果用户界面可以颠倒旋转,用户在拨打电话时会出现问题。处理颠倒的用户界面没有很好的顺序。如果您的应用程序被颠倒旋转,则来电屏幕必须相对于您的应用程序颠倒,这不是一个好的体验。如果不是这样,用户会接听电话,将硬件颠倒过来,这很有趣,但不是很好。