I solved the question of the following steps:
- Attach gesture recognizer to UITableView.
- Detect which cell was tapped by "long touch". At this moment create a snapshot of selected cell, put it to UIImageView and place it on the UITableView. UIImageView's coordinates should math selected cell relative to UITableView (snapshot of selected cell should overlay selected cell).
- Store index of selected cell, delete selected cell and reload UITableView.
- Disable scrolling for UITableView. Now you need to change frame of snapshot UIImageView when you will drag cell. You can do it in
touchesMoved method.
- Create new cell and reload UITableView (you already have stored index) when the user finger leaves screen.
- Remove the snapshot UIImageView.
But it was not easy to do it.