2010-02-25 4 views
0

при нажатии кнопки удаления строки в представлении таблицы, я делаю некоторую проверку, и если пользователь решает отменить операцию, все должно откат. Не только хотите сохранить эту строку (что происходит), но также и удалить кнопку удаления, оставив только кнопку «-» round. Как я могу это сделать?Протрите кнопку удаления из ячейки представления таблицы

еще раз, спасибо.

+0

Привет, Вы используете метод reloadData UITableView после отмены uer? – ISDi

+0

Hi ISDi, Я использую лист действий для проверки. Следующий ответ подходит как перчатка. Благодарю. – BigJoke

ответ

0

Предполагая, что вы выполняете свои проверки в tableView: commitEditingStyle: forRowAtIndexPath: метод вашего объекта протокола UITableViewDatasource, вы должны иметь возможность установить editAccessoryType и editAccessoryView в ячейке.

//After validation fails.... 
UITableViewCell *aCell; 
aCell = [self tableView:tableView cellForRowAtIndexPath:indexPath]; 
// validations are done and you need to ignore the delete 
if (aCell.showingDeleteConfirmation){ 
    aCell.editingAccessoryView = nil; 
    aCell.editingAccessoryType = UITableViewCellAccessoryNone; 

} 

Если вы хотите, вы можете обернуть изменения в блоке анимации, чтобы анимировать изменение.

В качестве альтернативы вы можете переключить состояние редактирования ячейки.

//After validation fails.... 
UITableViewCell *aCell; 
aCell = [self tableView:tableView cellForRowAtIndexPath:indexPath]; 
if (aCell.showingDeleteConfirmation){ 
    aCell.editing = NO; 
    aCell.editingAccessoryView = nil; 
    aCell.editing = YES; 

} 
+0

Hi Chip, Второе решение для меня. Работает отлично. Пользователь нажимает кнопку «Удалить»; появится всплывающее окно с рекомендациями по проверке; пользователь выбирает отменять действие удаления; ячейка переходит в исходное состояние. Спасибо. – BigJoke

Смежные вопросы