0

我正在开发应用程序,需要支持 iPhone 5 的 4 英寸屏幕尺寸。我最初设计了该应用程序并通过针对 iPhone 3.5 英寸(视网膜和非视网膜显示器)的 XCode 4.6 模拟器运行,然后从模拟器中切换到 iPhone 5。令我惊讶的是,在我的几个 UIButtons 之外,我在屏幕底部看到了 1 英寸的空间。我必须在 iPhone 5 模拟器上滚动才能查看我的 UIButton。我应该在这里做什么来支持所有屏幕尺寸并使其在所有设备上看起来都一样?此外,我的应用程序仅支持所有设备(包括 iPad 的所有修订版)的纵向模式,我根本不使用情节提要。

请帮忙。

4

1 回答 1

0

你不能让 3.5 英寸屏幕和 4 英寸屏幕看起来相同,因为它们并不相同。但是你可以让它看起来更好。如果没有看到代码,很难说出你遇到了什么问题。但我会尽我最大的努力来帮助你。

如果此视图是您添加为 rootViewController 的 viewController 的一部分,那么无论屏幕大小如何,它都应该自行扩展以填满整个屏幕。但是,如果这是 viewController 视图中的子视图,则应确保该视图占据全屏。人们通常将视图的框架硬编码为任意数字,如下所示:

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

但是,这在 3.5 和 4 英寸屏幕之间是不可移植的。你想这样做:

[view setFrame:self.view.bounds];
[view setFrame:self.view.window.bounds];  //sometimes i use this instead

//set autoresizing
view.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;

除此之外,您还可以使用自动调整大小将组件锚定到屏幕底部,或随着屏幕高度调整大小。

请参阅这篇文章,了解如何使用 Interface Builder 在固定高度的页眉和页脚之间拉伸和锚定中央视图?

于 2013-02-20T18:50:49.547 回答