在我的应用程序中,我有一些小的视图可以通过拖动来移动。当用户开始在其中一个小视图上拖动时,它会保留在原处,但会“拉伸”一定距离(约200点)。超过该距离后,小视图应对用户的手指执行“捕捉”效果。最好将整个动画描述为橡皮筋破裂。

到目前为止,我已经实现了如下捕捉效果:

UISnapBehavior *snapBehavior = [[UISnapBehavior alloc] initWithItem:iconView snapToPoint:[[touches anyObject] locationInView:self.view]];
[self.snapAnimator addBehavior:snapBehavior];


问题是,如果用户在执行快照动画时继续移动手指,则视图将继续朝着效果开始时手指所在的点移动。

触摸时有什么方法可以更新UISnapBehavior的目的地?

最佳答案

不,没有。捕捉行为非常简单:可以立即捕捉到您所说的那样。这就是全部。一种行为,一分,一项,一击。

因此,您将需要删除捕捉行为并将不同的捕捉行为替换为不同的点。或使用另一种行为,一种行为是您可以在用户的​​手指移动时移动目标点(例如,UIAttachmentBehavior)。

关于ios - 更新UISnapBehavior点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24520238/

10-11 08:52