我的可拖动按钮使用以下事件进行拖动:
[button addTarget:self action:@selector(beganDragging:)
forControlEvents:UIControlEventTouchDown];
[button addTarget:self action:@selector(wasDragged:withEvent:)
forControlEvents:UIControlEventTouchDragOutside | UIControlEventTouchDragInside];
[button addTarget:self action:@selector(exitDragging:)
forControlEvents:UIControlEventTouchUpInside];它就在上面的正上方。方法wasDragged将UIButton的中心调整到UITouch位置。然而,有些情况下,我的按钮被挂起了(通常它在手指释放后会捕捉到网格),因为UIControlEventTouchUpInside从未被调用过!
多么?假设我开始拖动一个按钮,并在按住它的同时制作了一个屏幕截图(Power+Home)。当我释放按钮时,任何事件都不会被调用(即UIControlEventTouchUpInside)。因此,我的按钮被卡住了,并且没有捕捉到exitDragging方法中的网格
有什么办法确保exitDragging总是运行的吗?
发布于 2013-04-09 05:11:13
也许将UIView API与touchesBegan、touchesEnded等一起使用会更容易。
看起来您无论如何都没有使用UIButton功能。我认为使用UIButton的目标机制来管理拖动并不是它的初衷。
https://stackoverflow.com/questions/15888304
复制相似问题