Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ iPad模拟器和设备的渲染差异?_C++_Objective C_Ios_Interface Builder - Fatal编程技术网

C++ iPad模拟器和设备的渲染差异?

C++ iPad模拟器和设备的渲染差异?,c++,objective-c,ios,interface-builder,C++,Objective C,Ios,Interface Builder,我有一个应用程序,它最初是几年前设计的,只是为最初的iPhone。我已经接受了,我们正在寻找更新,使其在iPhone4和iPad上工作。里面有很多代码,所以发布样本很困难,因为它们可能不是来自正确的地方(也使用RiLiHT,大多数代码是C++,带有一些Obj-C类-AppDeRead等)。 iPhone版本工作正常,而在xcode模拟器中,iPad版本工作正常。但是,在设备本身上,iPad版本无法正确渲染 该应用程序在所有版本中都是横向的,但在iPad上,尽管它将所有东西都定位在正确的方向上,但

我有一个应用程序,它最初是几年前设计的,只是为最初的iPhone。我已经接受了,我们正在寻找更新,使其在iPhone4和iPad上工作。里面有很多代码,所以发布样本很困难,因为它们可能不是来自正确的地方(也使用RiLiHT,大多数代码是C++,带有一些Obj-C类-AppDeRead等)。 iPhone版本工作正常,而在xcode模拟器中,iPad版本工作正常。但是,在设备本身上,iPad版本无法正确渲染

该应用程序在所有版本中都是横向的,但在iPad上,尽管它将所有东西都定位在正确的方向上,但绘图区域似乎仍然使用纵向。 这是一个屏幕截图(忽略绿色方块,我刚刚隐藏了一些信息):

正如你所看到的,右边是空白的,它似乎将宽度限制为768,图像位于屏幕顶部(我可以想象它在1024处被截断)。考虑到iPhone版本运行良好,IB中是否存在我可能忽略的可能需要更改的设置

编辑1:

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

我自己修复了它——不幸的是,当我最初“测试”它时,我手头没有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的方向?不知道为什么,但它现在可以工作了,谢谢所有评论的人的帮助。

只要主视图是控制器,那么你就可以在这个东西上设置autoResizigMask。我以前实际上没有使用过autoResizigMask,我已经用我添加的代码编辑了这个问题-它看起来像是一个正确的实现吗?是的autoresizingMask使用正确,这是否解决了您的问题?否。出于某种原因,它现在已经旋转了图像本身-并将其移到屏幕的右侧。如果问题出在这个自动重设屏幕上,那么iPhone设备上的情况是否也会如此?正如我所说的,它在这些方面效果很好。