我想在我的视图中有可以拖放的对象。
当它们被丢弃在某个区域时,它们应该消失并且一些代码应该执行。
如何在iPhone应用程序中拖动对象?它只是一个可以拖动的按钮吗?
如何检测可拖动物体的位置?会不会像(Psuedo)那样简单
if (draggableButton1.xPosition > e.g. && draggableButton1.xPosition < e,g
&& draggableButton1.yPosition > e.g. && draggableButton1.yPosition < e,g) {
do something
}
答案 0 :(得分:4)
当用户触摸该对象后,调用该方法的时间。
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
当触摸移动时,将调用以下方法。
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
当用户以触摸结束时,将使用以下方法
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
NSSet
对象包含UITouch
对象,其中包含视图中的触摸,视图,屏幕上的位置,之前的位置等所有信息。您可以查看相关文档。
从touchesBegan开始你的逻辑,并在touchesMoved事件中更改对象的位置。然后当用户删除对象时,将调用touchesEnded事件。检查touchesEnded事件中的位置并按照您的说法执行代码。
愿这三种方法有所帮助......
答案 1 :(得分:2)
如果所述对象是UIView,则可以获得其帧原点和大小。
检查苹果MoveMe示例:http://developer.apple.com/iphone/library/samplecode/MoveMe/Introduction/Intro.html