当view1帧触摸view2帧时停止动画

时间:2018-02-08 09:08:53

标签: ios objective-c animation

我的代码如下。

[UIView animateWithDuration:5.0f animations:^{
        _view1.frame = CGRectMake(self.view.center.x - 50,self.view.center.y - 50, 100, 100);
        _view2.frame = CGRectMake(self.view.center.x - 50,self.view.center.y - 50, 100, 100);<br>
    } 
completion:nil];

1 个答案:

答案 0 :(得分:1)

视图帧的碰撞检测在UIKit中是一项艰巨的工作,我会在图层级解决它,因为动画发生在此级别上,presentation layer包含动画期间的当前帧。因此,您必须在动画期间观察表示层 s 的位置和界限。

但观察在这里有误导性。您无法使用KVO,因为Core Animation会为每个动画步骤创建一个新的表示层。