Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何在设置帧动画时获得对视图位置的更改?_Iphone_Objective C_Ios_Ipad_Key Value Observing - Fatal编程技术网

Iphone 如何在设置帧动画时获得对视图位置的更改?

Iphone 如何在设置帧动画时获得对视图位置的更改?,iphone,objective-c,ios,ipad,key-value-observing,Iphone,Objective C,Ios,Ipad,Key Value Observing,当一个视图在屏幕上移动时,我需要根据另一个视图的位置不断更新它。我尝试在帧上使用KVO,但它似乎只在动画开始时触发。有推荐的方法吗?您想看一看核心动画演示层,它会告诉您动画过程中的位置。我会添加一个可重复的计时器,并制作如下内容: [self updateView:_view usingPosition:[_anotherView.presentationLayer position]]; (难道你不知道另一个视图的动画吗?也许你可以直接设置另一个视图的动画?为什么不同时为两个视图设置两

当一个视图在屏幕上移动时,我需要根据另一个视图的位置不断更新它。我尝试在帧上使用KVO,但它似乎只在动画开始时触发。有推荐的方法吗?

您想看一看核心动画演示层,它会告诉您动画过程中的位置。

我会添加一个可重复的计时器,并制作如下内容:

[self updateView:_view
   usingPosition:[_anotherView.presentationLayer position]];

(难道你不知道另一个视图的动画吗?也许你可以直接设置另一个视图的动画?

为什么不同时为两个视图设置两个动画呢

[UIImageView animateWithDuration:aDuration
                           delay:0
                         options:UIViewAnimationCurveEaseInOut | UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionBeginFromCurrentState
                      animations:^(void) {
                          view1.center = somePosition;
                          view2.center = someOtherPosition;
                      } completion:NULL];
它们将同时移动,并使用以下选项:UIViewAnimationOptionBeginFromCurrentState如果在此动画完成之前启动其他动画,则视图将从停止点开始

但是,如果它不是您想要的,您能否准确地更新关于view1如何移动的问题