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

时间:2012-01-12 06:22:15

标签: ios cocoa-touch ipad uiview

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

1 个答案:

答案 0 :(得分:1)

由于这不是视图层次结构的工作原理,除非我弄错了,否则无法阻止子视图使用其超级视图移动。

你可以做的是在超级视图移动时重新定位子视图(但不要为其设置动画),这样就会产生不移动的错觉。

我在这些限制范围内执行此操作的方法是获取子视图相对于superview的superview(convertRect:toView:方法)的位置,然后在每次超视图移动时设置框架的原点。