0

在 4.0.1 上运行流畅的应用程序在 4.2.1 上运行时会产生扭曲的屏幕,即屏幕稍微向左移动了 20%。安装了 iOS 4.0.1 和 4.2.1 的手机是 2 部不同的手机。可能是什么问题呢?

我们观察到,无论我们添加为子视图,这个问题都会发生。

谢谢,萨蒂什

4

1 回答 1

0

根据您的描述,我认为要么是您没有正确设置正确view.autoresizingMask,要么是视图的布局方式发生了微妙的变化。

尝试设置显式移动的视图框架,看看会发生什么。

[view setFrame:CGRectMake(0, 0, 320, 460)]

一些相关的代码和/或屏幕截图肯定会有所帮助。另外,它是 UIKit 应用程序还是 Cocos2D 游戏?


编辑:由于您无法提供代码(或精简的示例版本),我将发布一些我一直在使用的代码。

通常,当我添加子视图以“填充”父视图时,我必须执行以下操作:

UIView *parent = nil; // find parent view
UIView *child = nil; // child view to add to parent

[parent addSubview:child];

CGRect frame = [parent frame];
frame.origin.x = 0;
frame.origin.y = 0;
[child setFrame:frame];

如果你这样做了,但它仍然不起作用,我相信问题可能出在其他地方(即你有没有被layoutSubviews任何机会覆盖?或者手机越狱了?)

我非常怀疑这将是一个 UIKit 错误,但这是完全可能的。

于 2012-04-06T10:56:13.060 回答