【发布时间】:2012-06-27 08:35:21
【问题描述】:
我有一个主视图。 主视图内部有两个容器视图:按钮容器和显示容器。 在每个容器内分别有按钮和显示字段。
简而言之,我有三个级别的视图:主视图、子视图(容器)和子子视图(按钮和字段)。
当按下按钮时,我想将该按钮的图像从按钮区域动画化到显示区域。也就是说,我需要将它上移两层,然后再下移两层。
目前,我正在按钮顶部创建一个与自定义按钮的 UIImage 相同的 UIImage。我移动它,然后在动画结束时将其销毁,因此我不必更改实际按钮(我想将其留在原处以便重复使用)。
显然我可以得到这个 UIImageView 的中心/边界/框架。
但是,我无法确定目的地的坐标。 Frame 和 Center 是相对于 superview 的,但这只是上一层。似乎需要做很多数学运算才能将正确的 X 和 Y 偏移量相加才能到达目的地。
这是 UIView 的 convertRect:toView: 或 convertRect:fromView: 的工作吗?我很难确定如何使用它们,或者确定它们是否真的是正确的使用方法。
似乎是一个很常见的问题 - 将某些内容从一个“嵌套”视图移动到另一个“嵌套”视图 - 但我已经搜索并找不到答案。
【问题讨论】:
-
convertRect:... 绝对是正确的方法。
标签: iphone ios uiview nested coordinates