EDIT: Screencast of the issue:
Im having a desperate time with an issue Im having with a table view and its source. I have attached the code to the UITableViewSource which automatically populates an internal model containing 5 sections.
Tap the text in the section containing today's date and the table will be placed into edit mode. Drag the row titled 'A' from today's section downwards until you go maybe 7 rows past 'P', then back up to just above 'P' and drop it. You will see that the rows in the view kind of 'shiver', which is odd. Then tap on the drag icon for row 'A' and you will see a new row 'A' appear.
I haven't a clue why this is happening and my model code looks clean, which is why I created this sample code to prove the problem. If anyone can point a big finger and say 'mate you are doing this bit wrong, do this instead', I'll buy you a beer!
Also I removed all other code, including cell recycling just to prove the problem.
To run the code, add the attached unit to an existing project. In your view controllers ViewDidLoad simply run the following code:
table = new UITableView(View.Frame);
table.Source = new CustomSource(table);
also add a private variable to your view controller for the table object. The problem occurs on the sim as well as on a device, iOS7.