Uderzałem się w głowę nad tym, a Google nic nie pokazało. W końcu to opracowałem i pomyślałem, że napiszę to tutaj ze względu na następną osobę.
Masz UITableView
z wieloma sekcjami. Każda sekcja jest jednorodna, ale ogólnie tabela jest niejednorodna. Możesz więc chcieć zezwolić na zmianę kolejności wierszy w sekcji, ale nie w sekcjach. Może nawet chcesz, aby w ogóle można było ponownie zamówić tylko jedną sekcję (tak było w moim przypadku). Jeśli patrzysz, tak jak ja, na UITableViewDataSourceDelegate
nie znajdziesz powiadomienia, kiedy ma zamiar przenieść wiersz między sekcjami. Dostajesz jeden, gdy zaczyna przesuwać wiersz (co jest w porządku), a drugi, gdy został już przeniesiony, i masz szansę zsynchronizować się z wewnętrznymi elementami. Niepomocne.
Jak więc możesz zapobiec ponownemu zamawianiu między sekcjami?
Opublikuję to, co zrobiłem, jako osobną odpowiedź, pozostawiając otwartą dla kogoś innego, aby opublikował jeszcze lepszą odpowiedź!