【发布时间】:2011-11-05 00:04:41
【问题描述】:
我需要根据另一个视图在屏幕上移动时的位置不断更新视图。我尝试在帧上使用 KVO,但它似乎只在动画开始时触发。有推荐的方法吗?
【问题讨论】:
标签: iphone objective-c ios ipad key-value-observing
我需要根据另一个视图在屏幕上移动时的位置不断更新视图。我尝试在帧上使用 KVO,但它似乎只在动画开始时触发。有推荐的方法吗?
【问题讨论】:
标签: iphone objective-c ios ipad key-value-observing
你想看看核心动画表示层,它应该告诉你动画期间的位置。
【讨论】:
我会添加一个可重复的计时器并制作如下内容:
[self updateView:_view
usingPosition:[_anotherView.presentationLayer position]];
(难道你不知道_anotherView的动画吗?也许你可以直接设置_view动画?)
【讨论】:
为什么不同时为两个视图设置两个动画?
[UIImageView animateWithDuration:aDuration
delay:0
options:UIViewAnimationCurveEaseInOut | UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionBeginFromCurrentState
animations:^(void) {
view1.center = somePosition;
view2.center = someOtherPosition;
} completion:NULL];
它们将同时移动并带有选项: UIViewAnimationOptionBeginFromCurrentState 如果您在此动画完成之前启动其他动画,则视图将从它们停止的点开始。
但是,如果这不是您要查找的内容,您能否准确更新您的问题,了解 view1 的移动方式。
【讨论】: