2015-11-16 95 views
0

我正在开发一款应用程序,它只针对iphone 5,6和6+设备。由于所有这些设备具有相同的尺寸比例,我如何设置自动布局来调整所有不同的iPhone尺寸的一切尺寸 - 或者我应该不使用自动布局?iPhone 5,6,6 + iOS自动布局

试图大小班“任何瓦特/任何H”,我不能够得到期望的结果:

enter image description here

回答

0

你会得到很多关于这个主题不同的答案,但我认为Autolayout是最简单的路线。在Interface Builder屏幕的底部,您可以在不同的屏幕尺寸之间切换。它看起来是这样的:like this

首先,您将为“w:Any h:Any”设置约束条件。如果有任何“特殊情况”,例如紧凑的屏幕,您可以切换该按钮以选择您希望配置约束的尺寸并相应地更新它们。

更新

如果你想在不同的屏幕在同一个地方按比例保留的项目,你可以添加一些UIView对象的故事板,将作为间距的占位符。需要为这些占位符指定类或类似的东西(尽管您可能想要更改它们的背景)。然后,配置您的约束。

更新2 看您发布的图片,看来你可能没有设置限制(正确?)在底部(取消,连接完成)按钮。你希望这些按钮在每个屏幕尺寸的底部显示,对吧?

+0

它看起来像是在谈论大小类,而不是专门针对自动布局。如我错了请纠正我? – royherma

+0

当您在界面构建器中指定尺寸等级时,自动布局将为您完成这项工作。我会从任何一个x开始,并在遇到问题时跨越问题。 – Adrian

+0

不起作用 - 请参阅更新后的帖子请 – royherma

0

正如其他人所指出的,自动布局是一个很好的解决方案。你也可以考虑使用静态内容的表格视图。 iOS会自动调整表格视图的大小及其内容以适应可用空间。请参阅本文中的示例:

http://www.oliverfoggin.com/using-a-static-uitableview-as-a-layout-device/

MarkupKit是一个开源框架,它可以帮助你用任何一种方法(我是该项目的作者)。它提供了抽象自动布局细节的类,所以你不需要自己处理它。以下是同样的例子如上述使用MarkupKit实施:

http://gkbrown.org/2015/11/01/using-a-static-uitableview-as-a-layout-device-markupkit-edition/

0

可以通过禁用尺寸类和使用的元件和UIView的与用于元件之间的间隔动态大小成比例的宽度和高度约束实现这一点。此外,这些动态UIView将通过使用比例宽度和高度约束来创建。我制作了几款在iPhone 5,6,6 Plus,6S,6S Plus模拟器中看起来完全相同的应用程序。我通过模拟器截图来衡量。如果我解释一切,这个问题的答案将会太大。但无法解释任何事情,因为我没有任何要求我可以建议你的事情的样机。如果你有iPhone 5的样机在这里发布。我将创建一个示例Git回购,我将添加约束元素,你会分析。也可以使用我的方法将隐藏在屏幕内的大多数复杂屏幕显示为弹出式元素。问题是我无法解释一切。我在下面的链接中回答了一些问题。你可以看他们了解我想说明什么。

https://stackoverflow.com/a/31336272/4030971

https://stackoverflow.com/a/31156987/4030971

https://stackoverflow.com/a/31915676/4030971

https://stackoverflow.com/a/31870625/4030971

https://stackoverflow.com/a/31447103/4030971

https://stackoverflow.com/a/31431519/4030971