首页 > 解决方案 > UIView 自动布局约束 wrt 父级

问题描述

我有一个自定义 UIView(称为 myView),它有很多子视图。我的问题是我需要根据 myView 在其父级中的位置放置 myView 的子视图。因此,如果 myView 在屏幕的左侧,我想在 myView 的右侧放置一些元素,并且当它向左移动超出中心时,我立即希望更改 myView 的子视图的布局。有没有一种简单的方法可以使用自动布局来实现这一点?

示例:让我们在 myView 中有一个 UISlider 和两个 UIButton。如果 myView 位于其父视图的最左侧,我希望 UISlider 位于 myView 的左侧。但是如果 myView 在其父视图中移动到右侧,我想将 UISlider 移动到 myView 的右侧。

标签: iosuiviewautolayoutuikitios-autolayout

解决方案


您将不得不通过代码来做到这一点 - 不能纯粹通过约束来做到这一点。

一种方法:

为“left-side-layout”创建一组约束,为“right-side-layout”创建另一组约束。然后,在运行时,确定您要使用的“版本”并仅激活适当的约束集。


推荐阅读