我需要在动画期间拖动一个元素。该元素从屏幕顶部掉落,我需要用户可以将其拖动到任何他想要的地方,即使在动画期间也是如此。谢谢
问问题
260 次
2 回答
1
您可以使用 touchesBegan 方法来检测用户何时触摸元素。
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
if (touch != nil && (touch.view == elementView))
//do your stuff
}
然后将元素的位置设置为触摸位置,并移除动画。
elementView.center = [touch locationInView:self.view];
[elementView.layer removeAllAnimations];
这应该有效。然后可以使用类似的 touchesMoved 方法在拖动过程中更新位置。
于 2012-10-25T13:59:56.797 回答
0
由于您使用的是UIView
基于块的动画,请尝试使用:
animateWithDuration:delay:options:animations:completion:
与UIViewAnimationOptionAllowUserInteraction
选项。
于 2012-10-25T14:24:34.500 回答