iPhone 5特定的屏幕尺寸问题

问题描述:

我正在开发应用程序,需要支持iPhone 5的4英寸屏幕尺寸。我最初设计的应用程序,并通过XCode 4.6模拟器瞄准iPhone 3.5英寸(视网膜和非视网膜显示器),并从模拟器内切换到iPhone 5。令我惊讶的是,我看到屏幕底部的1英寸空间超出了我的几个UIButtons。我必须滚动iPhone 5模拟器来查看我的UIButton。我应该在这里做什么来支持所有屏幕尺寸,并使其在所有设备上看起来完全相同?此外,我的应用程序仅支持所有设备的肖像模式(包括所有版本的iPad),而且我根本不使用故事板。iPhone 5特定的屏幕尺寸问题

请帮忙。

你不能让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; 

除此之外,您还可以使用自动尺寸调整到固定件的屏幕的底部,或者与屏幕的高度上沿着调整。

看到这个职位如何:我How can I stretch and anchor a central view between a fixed-height header and footer, using Interface Builder?

+0

这样做:检查自动版式选项,因为我的应用从iOS 6中及以后的支持之后,一切看起来不错。我没有答案的一件事是,当我使用iPhone 4英寸模拟器来查看应用程序时,我在底部看到一个滚动条,并且我向右滚动显示一个部分隐藏的按钮。为什么如此?我在底部有4个UIButton,并且所有的都是等距的,也是居中的。 – Hema 2013-02-21 18:23:38

+0

可能的问题:contentInset?如果将contentInset设置为左侧,则会强制内部视图向右移动并强制滚动。 – 2013-02-21 18:33:13

+0

我对XCode 4.6并不熟悉。你能告诉我更多关于“contentInset”的信息吗?如何关闭它。 – Hema 2013-02-21 18:48:43