使用自动布局和约束更改位置

Posted

技术标签:

【中文标题】使用自动布局和约束更改位置【英文标题】:Change position with auto layout and constraints 【发布时间】:2014-01-14 14:34:01 【问题描述】:

我有一个问题,我不确定你是否可以通过自动布局和约束来解决它。

问题: 我在一个视图上有两个对象。 如果方向为横向模式,则对象并排放置。 但是在纵向模式下,第二个对象的部分在视图之外。因此,它应该并排放置在第一个对象下方。

您可以通过自动布局和约束来实现这一点吗?

或者

我必须以编程方式更改位置吗?

我上传了两张截图:

http://www.directupload.net/file/d/3502/f9us2a8x_png.htm http://www.directupload.net/file/d/3502/ddmurpwt_png.htm

感谢您的帮助! 彼得

【问题讨论】:

【参考方案1】:

这也应该有帮助https://github.com/yas375/ExampleApp/tree/39b921b373b14c928d073c0b2451bcfbf79682df

从这个答案https://***.com/a/20119117/2127824

【讨论】:

非常感谢,这帮助很大。本教程也非常有用:raywenderlich.com/50317/…【参考方案2】:

我认为你不能使用自动布局来做到这一点。 我会以编程方式检查 obj1.frame.size.width+obj2.frame.size.width > superview.bounds.size.width 并相应地设置 obj1 和 obj2 帧。

【讨论】:

【参考方案3】:

是的,您可以使用自动布局。

我认为问题在于您将左侧对象居中于视图的中间并固定了它们两者之间的距离。

您可以查看这个 *** 问题,它为您提供了 2 或 3 种方法:Auto Layout (Constraints) Center 2 side by side views in a parent view

【讨论】:

以上是关于使用自动布局和约束更改位置的主要内容,如果未能解决你的问题,请参考以下文章

使用自动布局更改按钮位置

如何使用自动布局更改标签位置

在 Swift 运行时更改自动布局约束的 UIView 的框架

UICollectionViewCell 子视图的位置错误(自动布局)

使用自动布局更改约束

纵向而不是横向的自动布局方向更改