I don’t think you can do that that simple.
I would try to:
1 - get the row ID that need to be “grab and drag”
2 - create a new image or image group looks same as the table row.
3 - at the same time, delete the that row in the list, so it looks like you grabbed that row.
4 - keep tracking the x, y of drag event, once user drop it (“ended”), remove that image or image group
5 - at the same time, inserting new row to the table view based on the ended event.x/y.
You also need a function the check user’s input.
You start with disable the table view’s user input, and using another event listener to check out what user want to do.
For example, if user put their finger on the same location for more than 1 sec means to start “grab”.
If user’s finger moves more than 5 pix form the start location, that means user want to slide the tableView.
And if user’s finger moves within 5 pix and ended input less than 1 sec, it means tab on the row.
You can start record startTime and start x, start y movement when the event begin,