Autolayout随着手机尺寸缩小和扩大

时间:2014-12-17 18:46:30

标签: ios iphone swift autolayout xcode6.1

我很难通过自动布局让我的应用变大。我已经观看了几乎每个教程,并且使用约束,类几天搞乱它但是它并不完美。

我附上了我正在尝试做的事情的模型。我已经创造了束缚但是当它缩小时,一行比其他行小,所以它适合。如果我添加了相同的高度约束,那么所有内容都会在标题中向上推。我没有使用表格视图,只使用文本和线条作为图像。

我基本上只是试图保持相同的比例,但是使用常规视图缩小行以适应页眉和页脚。

感谢您的帮助。

example mockup

1 个答案:

答案 0 :(得分:0)

如果我正确理解你的话,我只是把你想要的布局放在一起。以下是它在iPhone 4S,5S和6中的外观:

iPhones

我使用的观点是:

  • UIView for Header
  • UIVabel里面有一个“One”,“Two”,“Three”,“Four”。
  • UIView,深灰色背景色,高度限制为1,底部边框为“一”,“二”,三“和”四“。

有两组重要的约束来获得“伸展性”:

  • “一个”与每个标题,“两个”,“三个”和“四个”之间的相等高度限制。我在“One”和“Header”之间的相等高度约束上使用了0.5的乘数,因为它看起来像你的标题大约是每行的两倍高。
  • 顶部布局指南和页眉之间的垂直空间约束0(a),以及(b)“四”的底部“边框”视图与底部布局指南之间的空间约束。

基本上,只要您将顶视图固定在屏幕顶部,底部视图固定在屏幕底部,并提供足够相等的宽度约束,以便在高度方面将所有视图相互关联,自动布局只会为您找出实际高度。我对任何特定高度限制(即具有实际数字)的唯一视图是1像素高视图,其充当“底部边界”线。

还有很多其他限制,但它们基本上非常明显 - 每个项目的前导和尾随空间为零,每个项目之间的垂直空间限制为零,下一个项目垂直向下。视图中的数字标签固定在左侧边缘,并在其容器中垂直居中。

这是一个小提琴,Xcode崩溃了几次,但遗憾的是,对你来说是自动布局。尽早保存,经常保存。