是否可以在 XIB 中设置根视图的约束?

Din*_*jan 5 xcode xib ios autolayout

最近,我正在遵循一个在 Swift 中创建框架的教程,它们创建可重用的视觉效果视图,就像我们在 Xcode 构建成功弹出窗口中看到的那样。我正在一步一步地制作 UI,他们创建了一个新的 xib 文件并将UIVisualEffectView其拖放到其中。

没有约束的空 UIVisualEffectView

在上图中我们可以看到UIVisualEffectView不包含任何约束。它仅在尺寸检查器中具有自动调整大小蒙版(如预期)。


但教程中的下图突然包含了其根视图的所有必要约束。

带有约束的 UIVisualEffectView

我已经知道默认情况下我们不能为根视图设置任何约束。但在教程中,作者似乎添加了相同的约束。我只是想知道是否可以这样做,或者我是否缺少任何基本想法?

编辑:

根视图的约束。

UIAfterEffectView 约束

Don*_*Mag 4

好的,找到了一种方法来做到这一点......

还没有做过任何测试,所以我不确定约束是否真的设置正确或将在运行时由自动布局使用,但这会将它们放在那里。

创建一个新的“视图”XIB - 这是它的开始方式:

在此输入图像描述

向该视图添加一个 Visual Effect 视图,并将其宽度和高度限制为 230 / 230:

在此输入图像描述

现在,将该视觉效果视图从普通视图中拖出,拖到空白处:

在此输入图像描述

您会看到它保留了其限制。然后删除原始视图,并添加其他元素:

在此输入图像描述