0

我有一个应用程序,最初是几年前设计的,只是为最初的 iPhone 设计的。我已经接受了它,我们正在寻求对其进行更新,以便它可以在 iPhone 4 和 iPad 上运行。里面有很多代码,所以发布示例很困难,因为它们可能不是来自正确的地方(它也使用 irrlicht,大部分代码是 c++ 和一些 obj-c 类 - appDelegate 等)。

iPhone 版本运行良好,在 xcode 模拟器中 iPad 版本运行良好。但是,在设备本身上,iPad 版本无法正确呈现。

该应用程序在所有版本中都是横向的,但在 iPad 上,尽管它以正确的方式定向所有内容,但绘图区域似乎仍在使用纵向方向。这是一个截图(忽略绿色方块,我只是隐藏了一些那里的信息):http: //i.imgur.com/50CKA.png

如您所见,右侧是空白的,它似乎将宽度限制为 768,图像超出了屏幕顶部(我想它会在 1024 处切断)。鉴于 iPhone 版本运行良好,IB 中是否存在我可能忽略的可能需要更改的设置?

编辑1:

UIView *contentView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
        contentView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
        self.view = contentView;
        self.view.autoresizesSubviews = YES;
4

1 回答 1

0

自己修复了它——不幸的是,当我最初“测试”它时,我手头没有 ipad,所以有人在测试每个版本,这非常慢。抓住了一个,很快就找到了答案:

UIScreen* mainscr = [UIScreen mainScreen];

//original width and height
w = mainscr.currentMode.size.width;
h = mainscr.currentMode.size.height;


//fixed method
if((int)mainscr.currentMode.size.width % 1024 == 0)
    {
        w = mainscr.currentMode.size.width;
        h = mainscr.currentMode.size.height;
        //correct for ipad
    }
    else 
    {
        h = mainscr.currentMode.size.width;
        w = mainscr.currentMode.size.height;
        //correct for iphone
    }

出于某种原因,我必须告诉它翻转 ipad 的方向?不知道为什么,但它现在有效,感谢所有评论者的帮助。

于 2012-05-15T23:53:32.920 回答