На этот вопрос 2009 года не было ответа, и это одно из немногих упоминаний этой проблемы в Интернете.
Проблема: я хочу изменить порядок секций UITableView таким же образом, как я могу сделать со строками (т. Е. Путем перетаскивания).
Я вижу, как это работает: вы включаете редактирование таблицы, появляются индикаторы переупорядочения. Когда вы начинаете перетаскивать заголовок раздела (или ячейку, действующую как поддельный заголовок раздела, что является неоптимальным [1]), все обычные ячейки «исчезают», поэтому вы можете перемещать только разделы (и это легче, если вы иметь более нескольких разделов).
LPRTableView , кажется, решает проблему, но это довольно сложно настроить правильно при переупорядочении разделов. Я пытался целый день с не очень большим успехом. Плюс [1].
Не очень хорошее, но приемлемое решение состоит в том, чтобы в заголовках были кнопки типа like (здесь можно использовать правильные заголовки), но это немного неловко.
Еще одно не очень удачное, но приемлемое решение - добавить дополнительный шаг (например, кнопку), который вызывает новый UITableView, отображающий только секции в качестве ячеек, и позволяет переупорядочивать их там. Работает нормально, но создает больше проблем, чем решает [2].
Я не вижу ничего в документах в виде, например, хука, вызываемого при начале / конце переупорядочения. Или, точнее, есть конец бита, но я не вижу начального.
Предложения
[1] Это позволяет в принципе размещать строки перед заголовком раздела, и вы должны вручную это отловить с плохим визуальным эффектом.
[2] Где бы я мог разместить такой элемент управления, особенно если у меня уже загруженный пользовательский интерфейс или я хочу, чтобы мой пользовательский интерфейс был минимальным?