重新定位UIView,保持其子视图位置不变



如何重新定位UIView,在重新定位之前保持其子视图在同一位置。当我移动UIView时,它的子视图也会被移动。我该怎么避免呢。我只想移动父视图,而不是它的子视图。

由于视图层次结构不是这样工作的,除非我弄错了,否则没有办法阻止子视图与其超视图一起移动。

你可以做的是在超视图移动时重新定位子视图(但不要设置它的动画),这样它会给人一种不移动的错觉。

在这些限制范围内,我的方法是获得子视图相对于超级视图的位置(convertRect:toView:方法),然后在每次超级视图移动时简单地设置帧的原点。

最新更新