Ios 如何使视图的所有元素按屏幕比例输入(xCode 6,使用swift)?

Ios 如何使视图的所有元素按屏幕比例输入(xCode 6,使用swift)?,ios,interface-builder,Ios,Interface Builder,我正试图找出如何使我的所有元素,如我的按钮和标签,适合每一个iPhone屏幕大小,包括iPhone 6 plus、iPhone 6和iPhone 5以及其他版本的iPhone 5。我怎样才能做到这一点?假设我有3个按钮,我想要在屏幕中央居中,一个在另一个上面。 < P>你所列出的所有屏幕都是同一类型的。你的应用程序在相同类型的所有屏幕上看起来都一样,没有额外的工作。然而,这并不是故事的结局 iOS实际上只有两种屏幕类型。第一个包括之前的所有iPhone,包括iPhone4和iPad。另一种类型仅

我正试图找出如何使我的所有元素,如我的按钮和标签,适合每一个iPhone屏幕大小,包括iPhone 6 plus、iPhone 6和iPhone 5以及其他版本的iPhone 5。我怎样才能做到这一点?假设我有3个按钮,我想要在屏幕中央居中,一个在另一个上面。

< P>你所列出的所有屏幕都是同一类型的。你的应用程序在相同类型的所有屏幕上看起来都一样,没有额外的工作。然而,这并不是故事的结局

iOS实际上只有两种屏幕类型。第一个包括之前的所有iPhone,包括iPhone4和iPad。另一种类型仅包括iPhone 5+。您应该在应用程序中支持这两种类型。事实上,苹果不会让你发布一款在两种屏幕类型上都不好看的应用程序——因此要求提供3.5英寸和4英寸屏幕的屏幕截图——这两种屏幕都代表每种类型。此外,你需要确保该应用程序在iPad上运行良好,即使你不打算专门支持iPad。所有iPhone应用程序都应该在iPad上运行,但如果该应用程序是专为iPad设计的,则不需要在iPhone/iPod上运行

这意味着——如果你使用带有自动布局的情节串连板,模拟iPhone 5+屏幕类型,并且不手动定义适当的约束,那么当应用程序在早期的iPhone(比如iPhone 4s,它也得到了iOS 8更新)或iPad上运行时,你实际上会松开屏幕的底部,而不会出现任何错误或任何事情。它只会被切断

您应该使用AutoLayout来定义屏幕边界和元素本身之间的约束。关于如何处理屏幕高度的差异,您有两个选项:


  • 一个或多个元素具有灵活的高度,以确保它们伸展以填充iPhone 5+的额外空间,同时目前在iPhone上看起来也不错,我投票决定关闭此项功能,因为它太宽了。如果你举了一个例子,说明你到底做了什么,你试图做什么来解决这个问题,并解释了你的结果以及它们与你预期的结果有什么不同,这个问题会更好。非常感谢!我不希望有更好的答案,我会一直玩自动布局和约束,直到我完全弄明白。我不知道你一定要确保应用程序在iPad上运行良好,现在知道比让苹果告诉我他们拒绝应用程序更好。没问题。祝你的应用程序好运。