8

我的目标是根据选择使 3 个图像沿水平轴缩小、增长和移动。使用自动布局似乎会使图像在试图满足顶部空间到超级视图/底部空间到超级视图约束时跳跃。

因此,为了解决这个问题,我将所有图像都放在了它们自己的 UIView 中。UIView 设置为图像可以增长到的最大尺寸,它以水平轴为中心。所以现在所有图像必须做的就是在它们对应的 UIView 中保持居中。这解决了我的问题,因为 UIViews 执行水平平移,而图像在内部缩小/增长,同时保持居中。我的问题是 - 这是正确的方法吗?它看起来很长,好像我可能滥用了自动布局的能力。我必须使用更多图像执行类似的任务,因此欢迎提出任何建议!谢谢。

4

1 回答 1

9

我刚刚在这里写了一篇关于这个主题的小文章:

使用自动布局时,如何调整 CALayer 的锚点?

基本上自动布局在任何类型的视图变换中都不能很好地发挥作用。最简单的解决方案是让您的视图完全脱离自动布局的控制,但或者您可以只给它提供不会反击您打算应用的特定类型转换的约束。第二种解决方案听起来就像您正在做的事情。

于 2013-01-01T16:29:37.727 回答