Ответ 1
Внесите метод -tableView:canEditRowAtIndexPath:
в источник данных. Верните NO
для этих строк.
Я знаю об использовании setEditing:
, чтобы включить режим редактирования UITableView.
Но я предпочитаю отключить операцию для некоторых определенных строк (включить другие строки).
Возможно ли это?
Спасибо,
InterDev
Внесите метод -tableView:canEditRowAtIndexPath:
в источник данных. Верните NO
для этих строк.
этот пост подводит итог, Есть ли способ скрыть "-" (Удалить) во время редактирования UITableView
если вы не хотите читать сообщение, которое находится в строке, которую вы не хотите удалять, но хотите разрешить перемещение строки: установите стиль редактирования для строки в UITableViewCellEditingStyleNone
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
return UITableViewCellEditingStyleNone;
}
Использование canEditRowAtIndexPath не позволит выравнивать строку с другими ячейками в сгруппированном стиле. который может выглядеть плохо.
Я использую UITableViewCellEditingStyleNone
, для строк, которые вы не хотите показывать с помощью элемента управления редактирования (минус/плюс), поместите это в свой
(UITableViewCellEditingStyle) tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{}
Исходя из вашего вопроса, я понимаю, что вы хотите просто скрыть кнопку удаления, появляясь в первой строке. установите для редактирования табличного представления значение yes и добавьте ниже код
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
if(indexPath.row==0)
{
return NO;
}
return YES;
}