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
總是運行?