UIView 调整大小问题,使用 iOS 模拟器在 iPhone/iPad 上获得不同的结果



我正在为iPhone/ipad制作一个非常简单的游戏。在故事板上,游戏只有一个视图,我添加了一个填充整个视图的 UIView,并将其称为 gameView。我在启动时以编程方式将对象放置在游戏视图上。

我在viewDidLoad中调整了gameView的大小,以便它适用于iPhone 3.5英寸,4英寸和iPad。这在两种尺寸的iPhone上都工作正常,但是我在iPad上遇到了奇怪的错误(我使用的是iPad模拟器,因为我没有iPad)。

在iPhone上,屏幕底部有一个绿色块

,但在iPad上,应该位于底部的绿色块大约是屏幕上方的四分之一!

我用来调整视图大小的代码是:

[self.gameView setFrame:self.view.frame];

是我的代码做错了什么,或者这可能是 iOS 模拟器问题?

要使子视图填充其超级视图,您必须使用超级视图的边界。

self.gameView.frame = self.view.bounds;

如果您不知道其中的区别,请阅读以下内容:可可:
框架和边界之间有什么区别?

最新更新