检测动画(移动)视图的触摸

时间:2012-01-11 21:38:39

标签: objective-c ios core-animation touches

我遇到的问题是检测UIViewUIViewController上触摸动画的动画。我尝试过UITapGesturetouchesbeganUIbutton。但我发现问题出在使用动画块时。视图的位置设置为其结束位置,移动时无法触摸。 (您可以触摸视图将停止的位置并读取触摸)。我为动画尝试了UIView个动画块。我也试过使用CAKeyframeAnimation,但都有相同的结果。

    [UIView animateWithDuration:10 delay:1 options:(UIViewAnimationOptionCurveEaseInOut | UIViewAnimationOptionBeginFromCurrentState | UIViewAnimationOptionAllowUserInteraction) animations:^{
    [testViewController.view setFrame:CGRectMake(900, 20, 100,  100)];

} completion:^(BOOL finished) {
    // Animate moving to another location
}];

这是我想要的一个简单例子。我想要一个随机移动屏幕的球的图像。我想知道什么时候球被触碰了。

1 个答案:

答案 0 :(得分:0)

我偶然发现了一个不同项目的答案。问题是我试图找到视图的框架,因为它是动画。并且在动画期间帧不会改变。但是有层的属性有帮助。

[view.layer presentationLayer]

您可以从此图层属性中获取动画视图的当前帧。然后我可以使用presentationLayers框架进行测试。