繁体   English   中英

适用于iPhone 5、6、6+的iOS自动版式

[英]iOS autolayout for iphone 5, 6, 6+

我正在开发一个仅针对iPhone 5、6和6+设备的应用程序。 由于所有这些设备都具有相同的尺寸比例,我如何设置自动版式以针对所有不同的iPhone尺寸完全调整所有内容的大小-还是我根本不应该使用自动版式?

尝试大小类“任何w /任何h”,我无法获得所需的结果:

在此处输入图片说明

您将在此主题上获得很多不同的答案,但是我认为自动布局是最简单的方法。 在Interface Builder屏幕的底部,您可以在不同的屏幕尺寸之间切换。 看起来像这样: 像这样

首先,您需要为“ w:Any h:Any”设置约束。 如果存在任何“特殊情况”,例如紧凑的屏幕,则可以切换该按钮以选择要为其配置约束的尺寸,并相应地对其进行更新。

更新资料

如果要在不同屏幕上将项目按比例放置在同一位置,则可以将一些UIView对象添加到情节提要中,用作间隔占位符。 需要为这些占位符指定类或类似的东西(尽管您可能想更改它们的背景)。 然后,配置您的约束。

更新2查看发布的图像,您可能没有为底部的按钮(取消,连接,完成)设置约束(正确?)。 您希望这些按钮显示在每种屏幕尺寸的底部,对吗?

您设置了任何约束吗? 您可能没有设置任何东西,这就是问题所在,或者您忘记了设置一些东西。

这是一个可能对您有帮助的教程: http : //www.raywenderlich.com/113768/adaptive-layout-tutorial-in-ios-9-getting-started

正如其他人指出的那样,自动布局是一个很好的解决方案。 您还可以考虑使用具有静态内容的表视图。 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/

您可以通过禁用大小类,并对元素使用比例宽度和高度约束,并对元素之间的间距使用动态大小的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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM