iOS 6 AutoLayout缩放和翻译动画

bea*_*ean 7 core-animation autolayout ios6

我的目标是根据选择使3幅图像沿水平轴收缩,增长和移动.使用自动布局似乎使图像跳跃,因为他们试图实现顶级空间到superview/Bottom空间到superview约束.

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

mat*_*att 8

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

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

基本上,autolayout对任何类型的视图转换都不能很好地发挥作用.最简单的解决方案是将您的视图完全从自动布局控制中移出,但是您也可以只为其提供不会反对您打算应用的特定类型转换的约束.第二个解决方案听起来就像你正在做的事情.

  • @bandejapaisa你不是在听.我说(在我的原始答案中)自动布局不适合视图转换.我是对的; 它没有.你没有进行视图转换; 你正在做一个图层转换.那没关系,但这跟我所说的无关.图层转换在autolayout中工作正常,因为自动布局对视图而不是图层起作用. (2认同)