Фон
Я действительно изо всех сил пытаюсь понять, как обрабатывать режим редактирования UITableView и скрывать некоторые строки в начале редактирования.
Я использую стиль сгруппированного табличного представления с несколькими разделами и несколькими строками на раздел. Последняя строка каждого раздела называется «Добавить новый ...».
Идея состоит в том, чтобы позволить конечному пользователю щелкнуть строку «Добавить новый ...» в каждом разделе, а затем перейти на новый экран, где они заполняют некоторые поля и затем возвращаются в это представление таблицы со своей новой строкой. добавлено в соответствующий раздел. Так что последняя строка на самом деле не относится к источнику данных и больше относится к UX.
Мне удалось добавить строку Add в конец каждого раздела.
Проблема
У меня есть кнопка, которая вызывает: tableView setEditing:animated:
, которая вставляет все строки и добавляет значок удаления слева от каждой строки.
Чего я не хочу, так это разрешить пользователю удалять строку «Добавить новый ...». Таким образом, моя оригинальная мысль заключалась в том, чтобы просто удалить возможность удаления этих строк «Добавить новые ...», используя tableView:canEditRowAtIndexPath:
.
Это сработало, но выглядит очень дерьмово, поскольку все строки вставлены, кроме строк "Добавить новые ...".
Таким образом, в настоящее время я думаю, что когда режим редактирования начинается, просто удалите строки «Добавить» из представления таблицы, а затем, когда режим редактирования завершится, добавьте их снова.
Я попытался сделать это, пройдя все строки, когда пользователь нажал кнопку редактирования, но кажется, что вы можете получить только те строки, которые в данный момент видны, используя cellForRowAtIndexPath:
.
Таким образом, я могу удалить те, которые видимы, но как только пользователь прокручивает таблицу вниз, все еще остаются кнопки добавления для невидимых секций (во время инициализации редактирования).
Помогите!
Кто-нибудь знает, как я могу просто скрыть строки "Добавить" из каждого раздела, когда пользователь редактирует таблицу, а затем добавить их обратно после?
Я ищу те же функции, которые использует приложение контактов, когда пользователь редактирует контакт.