如何为水平图像视图的自动布局正确设置约束?

时间:2016-08-13 08:03:07

标签: ios xcode debugging autolayout interface-builder

我遇到了自动布局的问题。更具体地说,当你有一个相当复杂(或可能是紧凑的)布局时,我对自动布局如何工作感到困惑。当我尝试进行水平布局时,我甚至都没有成功过。例如,我试图在故事板中水平设置两个标签,无论我做什么,在实际设备上检查时都是热点。

所以这一次,我的噩梦又来了。这里的截图是我在故事板中设置的视图。我正在使用自动布局,所以我必须添加约束,我首先要做的是为第一个图像视图添加顶部空间约束(左上角),它告诉我视图不明确。这似乎不对,因为在这些情况下,Xcode总是告诉我图像视图需要x位置。但这一次它“含糊不清”。我尝试了很多东西,但无论如何都没有锻炼。我放弃了手动设置,而是让Xcode为我做,我点击“重置为建议约束”,然后设置相等的宽度和高度,然后将图像视图设置为1:1方面无线电。但是在预览时,它仍然是一个热点。

显然,我和Xcode都不能像我们预期的那样设置布局。这就是为什么我来这里问你们,让我为你解释我的担忧: 1.我应该为所有图像视图设置什么约束? 2.我应该为“主题”设置什么约束? 3.我应该为标签设置什么约束(主题下面的描述)?

提前致谢。

Screenshot

1 个答案:

答案 0 :(得分:1)

问题是你何时开始

  

我正在使用自动布局,所以我必须添加约束,我先做的是   为第一个图像视图(左上角)添加顶部空间约束   告诉我观点含糊不清。

因此,当您设置顶部和左侧时,您的视图知道x和y,但它仍然不知道它需要为自己设置的宽度和高度。这是你应该做的下一步。找出一种方法,以便约束可以确定高度和宽度。一般示例将给出底部和右侧,固定宽度和高度等等,其可以是n个案例。

  

设置相等的宽度和高度,然后将图像视图设置为1:1宽高比   无线电

您已将约束设置为宽度和高度以及一些宽高比。此时,图像视图仍然不知道宽度或高度是多少,因为您从未告诉任何视图他们应该扩展多少。

在设置视图约束的某个时刻,您需要确保至少有一个视图知道它应该扩展和收缩多少,以便其他视图可以围绕它进行播放。

现在让我们告诉您如何解决此问题:

  1. 设置相等的宽度和高度以及1:1的宽高比。
  2. 用顶部粘贴所有ImageView。
  3. 为边缘附近的视图提供左侧和右侧的视图,左侧和右侧是ImageViews
  4. 设置垂直和水平中心。
  5. 设置左上角的左右约束,右下角的左右约束。
  6. 现在你应该设置所有约束并且好好去,因为ImageViews的其余部分将根据你添加的约束来推断自己。

相关问题