iOS:容器视图中的 3 个动态对象之间具有相等的空间

Posted

技术标签:

【中文标题】iOS:容器视图中的 3 个动态对象之间具有相等的空间【英文标题】:iOS: Have equal space between 3 dynamic objects within a container view 【发布时间】:2017-12-14 19:15:14 【问题描述】:

我有一个这样的 XIB 设置:

左侧按钮设置为 50x50,右侧图像视图将是动态的,中心视图和嵌入的图像视图也是动态的。我要做的是在最终对象和中间对象之间保持相等的空间。因此,随着右侧图像视图的大小增加或缩小,中间视图会调整其 x 点以保持两个末端对象之间的空间相等。

如果可能的话,我正在尝试不使用代码来执行此操作,但似乎无法找到实现它的方法。

编辑:我重新考虑了这一点,我认为我可以通过将中间视图的前缘固定到按钮的后缘并将中间视图的后缘固定到右侧的前缘来完成我所需要的图像视图。我希望随着正确图像视图的增长或缩小,中间视图会适得其反。

我现在的问题是,如果我添加这些引脚,xib 布局就会崩溃,不知道为什么。请参阅下面的固定之前和之后的图像。

没有限制:

在这里,我在按钮上放置了 0 的顶部、前导和底部约束,在中间视图上放置了 1 的前导和尾部约束以及 0 的顶部/底部约束,在右侧图像视图上放置了 0 的顶部、底部和尾部约束。 xib 失去高度或者它的 y 现在向下移动,并且右视图会爆炸以将屏幕填充到按钮的后沿。

有什么想法吗?

【问题讨论】:

【参考方案1】:

在中间项和外部项之间添加间隔视图并设置约束以保持这些间隔视图的宽度相同。

类似于这个问题:

ios autolayout to center my view between two views

【讨论】:

我曾尝试过那个(另一种方式)解决方案 - 但每当我添加约束时,它都会炸毁我的 UI。 (见我发布的图片)

以上是关于iOS:容器视图中的 3 个动态对象之间具有相等的空间的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UIfields 之间设置相等的水平间距

iOS Autolayout 垂直相等的空间来填充父视图

IOS容器视图在它们之间滑动

具有比例宽度和文本驱动高度的动态 UILabel

在不自动调整大小的情况下确定 UIView 容器大小

如何在 iOS 中创建具有动态内容的视图?