首页 > 解决方案 > 以编程方式使用约束 - 锚与 VFL (Swift)

问题描述

我正在尝试学习如何以编程方式合并约束。

给定三个容器视图,我希望我的显示在从纵向切换到横向时看起来像下面这样。(橙色和黄色视图的高度在纵向和横向都等于蓝色的高度,黄色视图保持相同高度,横向宽度相等,纵向和横向边距保持相同.)

我可以只使用锚约束来做到这一点吗?使用视觉格式语言怎么样?

假设我希望蓝色视图占据屏幕的三分之一?

除了使用锚的代码比 VFL 更容易阅读之外,一种方法比另一种更好吗?

在此处输入图像描述

在此处输入图像描述

标签: iosswift

解决方案


您可以使用锚点或 VFL,没关系,因为它们只是构造约束的不同方式。但我个人更喜欢锚点,因为与 VFL 相比,它们类型安全、易于编写且更短。是的,您可以使用尺寸类让系统决定何时将您的 UI 更改为横向(常规)或纵向(紧凑)。如果没有尺寸等级,您仍然可以通过更新您的 UI 以适应当前的设备方向来做到这一点。选择哪一种取决于您的需要。


推荐阅读