Can't drag UITableViewCell from its current position when reorder

Finally I found the problem its because external library that I use, IIViewDeckController, After remove that the problem go away.


This is indeed due to the ViewDeckController. I'm using a port in MonoTouch and still encounter the issue. It is due (more specifically) to the UIPanGestureRecognizer. The gesture recognizer is picking up the pan/drag movement and believing that it is meant for itself, so it cancels the touch being sent to the UITableView.

Unfortunately, there is no UIPanGestureRecognizer.direction (horizonal/vertical) property, but there is a post here: UIPanGestureRecognizer - Only vertical or horizontal regarding how to limit the pan gesture to only a certain direction. You will need to modify the ViewDeckController code where it adds the UIPanGestureRecognizer to use the subclassed version from the question above.

I haven't yet tested this (as its 2am and im done for today!) but will update my answer once I have had time to implement this.

As a quick and dirty fix, you can set

panner.cancelsTouchesInView = NO;

This will allow you to move your items, however it will also have its intended result of not cancelling touches in the view, so, depending on your center view's content, it may result in your users pressing a button when they meant to just swipe the view deck to the side.

Another possibility would be to set this property to NO when you set your table into edit mode, and change it back to YES once you are done.