Just hit this bug in our own usage of the app. The gesture recognizer for the view doesn't handle the cancelled state, so it treats a cancel event like any other event during a swipe. The cancel state should be handled the same way that the end state does. Either that, or cancel state should actually cancel the swipe.