iPad定位行为不一致 - 每次发布都会发生变化?

时间:2011-08-03 11:38:19

标签: ios ipad orientation

我有一个非常奇怪的问题,我还无法诊断。

在我的iOS应用程序(它是通用二进制文件)中,当我在iPad 4.3上运行时,启动时的方向不一致。

app委托将一个启动画面(UIViewController)添加到主窗口,然后将其删除并添加应用程序的主视图。正是这个主要观点是问题 - 大约一半时间,它在横向方向上正确加载,另一半以纵向加载视图(尽管状态栏和键盘在横向上都正确)。

当我不对代码或模拟器/设备方向进行任何更改时,我对启动时的方向发生变化感到有点失落。

我将UIInterfaceOrientationLandscapeLeft和UIInterfaceOrientationLandscapeRight设置为Info.plist中唯一受支持的iPad方向,并且每个视图控制器都使用以下内容:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations

    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
        // The device is an iPad running iPhone 3.2 or later.
        if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight) {
            return YES;
        }

    } else {
        // The device is an iPhone or iPod touch.
        if (interfaceOrientation == UIInterfaceOrientationPortrait) {
            return YES;
        }

    }

    return NO;
}

任何人都可以帮我解决这个问题吗?

干杯,

奥利

1 个答案:

答案 0 :(得分:0)

如果状态栏和键盘始终处于横向状态,那么问题不应该出现在shouldAuto ...方法中。它可能在viewDidLoad中。另外,请尝试以下操作:在project-info.plist中,将“初始界面方向”设置为左/右横向,“清理”项目并运行。