在我的项目中,我有一个滚动视图,里面有视图图像。我想将它们从我的滚动条拖到我的视图中并反向。
是否有人对此类功能有过一些经验。
答案 0 :(得分:1)
从本质上讲,你想要做的就是在你想要拖动的每个视图中放置一个UIGestureRecognizer。在识别器调用的选择器中,您需要在switch语句中处理每种类型的状态,类似于以下内容:
- (void)handleDragging:(UILongPressGestureRecognizer *)gestureRecognizer
{
switch ([gestureRecognizer state])
{
case UIGestureRecognizerStateBegan:
[self startDragging:gestureRecognizer];
break;
case UIGestureRecognizerStateChanged:
[self doDrag:gestureRecognizer];
break;
case UIGestureRecognizerStateEnded:
case UIGestureRecognizerStateCancelled:
case UIGestureRecognizerStateFailed:
[self stopDragging:gestureRecognizer];
break;
default:
break;
}
}
这将提供3个入口点。我建议在startDrag中:从scrollview中删除视图(如果它在一个内部),并将其添加到所有内容的超级视图中,以便在拖动时将其放在顶部。在doDrag中:您需要将视图的位置移动到手势的位置。最后,在stopDragging中:您将要将视图添加到位于正确位置(scrollview或其他)顶部的任何视图。