Ios6 iPhone 5特定屏幕大小问题

Ios6 iPhone 5特定屏幕大小问题,ios6,iphone-5,xcode4.6,Ios6,Iphone 5,Xcode4.6,我正在开发应用程序,需要支持iPhone5的4英寸屏幕尺寸。我最初设计了这个应用程序,运行了针对iPhone3.5英寸(视网膜和非视网膜显示器)的XCode 4.6模拟器,然后从模拟器内切换到iPhone5。令我惊讶的是,我看到屏幕底部有一个1英寸的空间,超出了我的几个按钮。我必须在iPhone5模拟器上滚动才能查看我的UI按钮。我应该在这里做些什么来支持所有屏幕大小并使其在所有设备上看起来相同?。此外,我的应用程序只支持所有设备的肖像模式(包括所有版本的iPad),我根本不使用故事板 请帮助。

我正在开发应用程序,需要支持iPhone5的4英寸屏幕尺寸。我最初设计了这个应用程序,运行了针对iPhone3.5英寸(视网膜和非视网膜显示器)的XCode 4.6模拟器,然后从模拟器内切换到iPhone5。令我惊讶的是,我看到屏幕底部有一个1英寸的空间,超出了我的几个按钮。我必须在iPhone5模拟器上滚动才能查看我的UI按钮。我应该在这里做些什么来支持所有屏幕大小并使其在所有设备上看起来相同?。此外,我的应用程序只支持所有设备的肖像模式(包括所有版本的iPad),我根本不使用故事板


请帮助。

您不能使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;
除此之外,您还可以使用“自动调整大小”将组件定位到屏幕底部,或根据屏幕高度调整大小


查看本文了解方法:

我这样做了:选中了自动布局选项,因为我的应用程序将受到iOS 6及更高版本的支持,此后一切看起来都很棒。我没有答案的一件事是,当我使用iPhone 4英寸模拟器来查看应用程序时,我看到底部有一个滚动条,我向右滚动一点,显示出一个部分隐藏的按钮。为什么会这样?。我在底部有4个UIButton,所有按钮都是等距且居中的。可能的问题:contentInset?如果您将contentInset设置为左侧,它将强制内部视图向右移动一点并强制滚动。你能告诉我关于“contentInset”的更多信息以及如何关闭它吗。[scrollView setContentInset:UIEdgeInsetsMake(0,0,0,0)];非常感谢。我是否必须在viewDidLoad事件中为我的每个.xib文件(iPad和iPhone/iPod)添加此行?