2
我拖动按钮使用被拖进这些事件:如何更好地拖动UIButton? UIButton的UIControlEventTouchUpInside事件不叫
[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
总是运行?