如何使我的ios应用程序支持iPhone 5上的4英寸显示屏

如何使我的ios应用程序支持iPhone 5上的4英寸显示屏,iphone,ios,objective-c,Iphone,Ios,Objective C,我是一个较新的ios应用程序开发人员。现在我的应用程序提交遇到了一个问题。我必须支持iPhone5上的4英寸显示屏,因为我的应用程序基于iPhone4。 我知道我可以重新设计视图框架以匹配4英寸,也可以将像1.187这样的数字乘以frame.origin.y以支持4英寸。 但我怎么能用第二种方法做到这一点呢。 我的代码是这样的 if([[UIScreen mainScreen] bounds].size.height == 568){ //to judge if it is 4-inch sc

我是一个较新的ios应用程序开发人员。现在我的应用程序提交遇到了一个问题。我必须支持iPhone5上的4英寸显示屏,因为我的应用程序基于iPhone4。 我知道我可以重新设计视图框架以匹配4英寸,也可以将像1.187这样的数字乘以frame.origin.y以支持4英寸。 但我怎么能用第二种方法做到这一点呢。 我的代码是这样的

 if([[UIScreen mainScreen] bounds].size.height == 568){ //to judge if it is 4-inch screen
        self.viewController = [[[IPGWViewController alloc] initWithNibName:@"myapp" bundle:nil] autorelease]; //how can I do this here to multiply the number 1.187 to the frame.origin.y
     }
    else{
        self.viewController = [[[IPGWViewController alloc] initWithNibName:@"myapp" bundle:nil] autorelease];
     }

多谢各位

Xcode 4.5+自动支持4英寸屏幕(您可能需要为此添加4英寸启动屏幕)。它会划伤您的视图(您可以在模拟器上测试它)。如果要在interface builder中构建视图,则可以设置哪些子视图应附着在哪一侧以及如何可拉伸。
还有很多教程,如

您需要添加“默认启动图像”-568h@2x.png"

将您的xib名称更改为“YourViewController~iphone460h.xib”


在xib中,您需要根据视图设置“自动调整大小”左、右、上和下箭头。

您的第一种方法应该是使用自动布局。请参见xib的标识检查器或viewcontroller的情节提要中的复选框


另一种方法是为每个分辨率设计两个不同的XIB。我不认为您的乘法方法是可行的。

视图控制器将填满它所提供的空间,因此您无需手动调整3.5/4英寸屏幕的大小


但是,正如其他人所提到的,您应该使用autolayout来确保您的UI元素在所有屏幕大小下都正确定位。WWDC 2012中有一个介绍自动布局基础知识的文档,以及许多有用的在线资源(请参阅和),可以帮助您入门。

是的,我添加了一个启动映像“默认”-568h@2x.png,您的意思是我需要设计一个名为“YouViewController~iphone460h.xib”的新xib,以及如何在Xcode 4.3中设置“自动调整大小”