【发布时间】:2010-01-26 06:30:02
【问题描述】:
我有一个 UIView 做一个简单的动画。它将 y 位置从 100 调整到 130,然后反转。我希望它继续重复,所以我将重复计数器设置为 999。根据用户输入,我想采用相同的 UIView 并调整 x 位置。这是通过另一个 UIView 动画完成的。问题是,当第二个动画开始时,第一个动画(在 y 方向上从 100 到 130)突然结束(正如我读到的那样)。有什么方法可以在 UIView 结束之前获取 y 坐标的最终位置?理想情况下,我希望 UIView 在平移 x 坐标时保持在相同的 y 位置。
总结:UIView 从 100-130 沿 y 方向移动,反转并重复,直到收到用户输入。一旦收到,动画就会被剪短,UIView 会跳转到 y=130。我想要一种方法来找出动画被缩短之前最终的 y 值是多少,所以当使用带有 x 平移的新动画时,UIView 不会跳转到 130,而是保持第一次时的相同位置动画结束。
我似乎看不到任何可以让你这样做的东西。在我看来,一旦您使用 UIView 设置动画,那么它(以及所有当前状态更改)将不在您的控制范围内,并且只有在动画完成并在指定位置后才会“返回”给您的控制和可用性终点。它是否正确?任何见解将不胜感激。感谢您的宝贵时间。
【问题讨论】:
标签: iphone objective-c cocoa-touch animation uiview