我有一个应用程序,最初是几年前设计的,仅适用于原始iPhone。我已经接受了它,我们正在寻找更新它,以便它可以在iPhone 4和iPad上运行。其中有相当多的代码,因此发布样本很困难,因为它们可能不是来自正确的地方(也使用irrlicht,大部分代码都是带有几个obj-c类的c ++ - appDelegate等)。 p>
iPhone版本运行良好,在xcode模拟器中,iPad版本运行良好。但是在设备本身上,iPad版本无法正确呈现。
该应用程序在所有版本中都是风景,但在iPad上虽然它以正确的方向定向所有内容,但绘图区域似乎仍然使用纵向方向。 这是一个截图(忽略绿色方块,我刚刚隐藏了一些信息):http://i.imgur.com/50CKA.png
正如您所看到的右侧是空白的,它似乎将宽度限制为768,图像越过屏幕顶部(我想它会在1024处切断)。鉴于iPhone版本运行良好,IB中是否有可能需要更改的设置我可能会忽略?
Edit1:
UIView *contentView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
contentView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
self.view = contentView;
self.view.autoresizesSubviews = YES;
答案 0 :(得分: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
}
出于某种原因,我必须告诉它翻转ipads的方向?不知道为什么,但它现在有效,感谢所有评论的人的帮助。