将视图的子视图拖动到其父视图

时间:2011-06-28 16:29:59

标签: ios iphone drag-and-drop

我一直在寻找解决方案几个小时。虽然我可以找到类似的问题,但我没有得到答案。请帮我解决一下这个。情况就是这样。

我正在开发一个iPad应用程序。我在UIScrollView B中有一个自定义UIControl(UIControl的子类)对象C,它位于根视图A中。所以父子关系是这样的:A - > B - > C.我想要做的是将我的自定义UIControl C拖到根视图A.这就是我做的。

因为C是UIControl,我向其注册了 UIControlEventTouchDown UIControlEventTouchDragInside 事件以跟踪手指移动。但是,注册的方法只在C的框架内触发。当我的手指接触到框架内部时,它会起作用。当我将它拖到C的框架外面到B然后A,我丢失了手指移动事件。我想知道这样做的正确方法是什么。

1 个答案:

答案 0 :(得分:1)

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIControl_Class/Reference/Reference.html

UIControlEventTouchDragInside只会在View的边界内发现拖动事件。您还需要向C视图添加UIControlEventTouchDragOutside,或者您可以收到所有触摸的通知,并找出触摸在X,Y上的位置,并查看触摸的坐标是否在C视图内,然后执行某些操作当触摸结束时和触摸期间拖动它。

相关问题