Я нашел одну вещь, которую вы, вероятно, захотите изменить:
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
Не думаю, что вы хотите, чтобы строка редактирования была редактируемой.Вот код, чтобы это исправить:
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
return (indexPath.row != 0);
}
Возможно, вы захотите, если еще, чтобы сделать его более читабельным, но если вам лень, этого будет достаточно.
Также вы можете указать, где выдобавить зеленый знак плюс?Я обновлю свой ответ, когда вы это сделаете.
РЕДАКТИРОВАТЬ: Проблема заключается в том, что при использовании смахивания удалить только строка, которую вы проводите, входит в режим редактирования.Строка редактирования не входит в режим редактирования, поэтому зеленый знак плюс не отображается.Если кнопка удаления появляется в неправильной строке, я предполагаю, что проблема состоит в том, что, когда табличное представление входит в режим редактирования, добавляется строка редактирования, которая обновляет indexPaths всех последовательных строк.
По правусейчас я не могу предоставить какой-либо код для решения проблемы, но я могу дать вам идею.Вы не должны добавлять строку редактирования, когда пользователь использует для удаления.Если вы можете определить, когда используется свайп для удаления, и не добавлять строку редактирования, исходя из этого, ваша проблема должна быть решена.У меня никогда не было подобной проблемы, поэтому мне никогда не приходилось это делать.Поэтому я не могу предоставить подробную информацию о том, как это сделать.
Если вам нужно больше / лучше посоветовать или помочь с реализацией, дайте мне знать.