如何在iPhone应用程序中拖动对象?

时间:2010-08-04 12:46:07

标签: iphone objective-c

我想在我的视图中有可以拖放的对象。

当它们被丢弃在某个区域时,它们应该消失并且一些代码应该执行。

如何在iPhone应用程序中拖动对象?它只是一个可以拖动的按钮吗?

如何检测可拖动物体的位置?会不会像(Psuedo)那样简单

if (draggableButton1.xPosition > e.g. && draggableButton1.xPosition < e,g 
       && draggableButton1.yPosition > e.g. && draggableButton1.yPosition < e,g) {
     do something
} 

2 个答案:

答案 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