I have plain UITableView with many sections and rows. Sections work fine. But sometimes after reload data of table, section change position. For example it was happened when
The solutions here didn't fix my problem, so I'm leaving one more possible solution that helped me.
Set the estimatedSectionHeaderHeight, it seems that my tableView wasn't being able to calculate the initial position of my first section without it.