1

有没有办法在不是兄弟的两个视图之间定义水平距离约束?我试图向他们的第一个公共超级视图添加一个约束,但该约束似乎不起作用。

苹果文档说:

约束只能引用视图本身或其子视图。

但我不确定它们是否意味着直接子视图。

理由: 我有一个观点,我想把不同的孩子放在哪里并安排他们。其中一些孩子应该表现出活力效果。不幸的是,在 iOS 中启用或禁用视图的活力是通过将其放置在UIVisualEffectView. 因此,为了混合充满活力和非活力的视图,我在顶层视图中使用了两个容器——一个用于充满活力的视图,另一个用于其余的。但是,我需要使用约束相对于彼此安排视觉项目。但由于它们位于不同的容器中,我需要约束来处理非同级视图。

4

2 回答 2

1

您可以通过按住 Control 按钮拖动约束线来制作此约束。这是一个例子。

1) 不同容器中的两个视图,红色和蓝色,其中红色有 X 位置约束,而蓝色没有: 2) 按下按钮,将线从蓝色拖到红色,你会看到约束菜单,你应该在哪里为这种情况选择: 3)从此菜单中选择,您就完成了:

在此处输入图像描述

在此处输入图像描述
ControlHorizontal Spacing

在此处输入图像描述

Horizontal Spacing

在此处输入图像描述

于 2016-01-24T18:10:11.147 回答
1

除非您想支持仍然使用 iOS 7 的约 3% 的用户,否则不要手动向任何视图添加约束:

在为 iOS 8.0 或更高版本进行开发时,请将约束的 active 属性设置为 true。这会自动将约束添加到正确的视图中。

创建一个引用两个视图的约束,确保它们在同一个视图层次结构中,激活它。

于 2016-01-24T18:32:03.273 回答