2012-05-21 2 views
-1

Я хочу удалить строки в UITableView, мне нужно указать кнопку удаления не путем прокрутки, а способом, аналогичным удалению сообщений в iPhone. В котором при нажатии на редактирование появляется небольшой красный круг слева в ячейке, который вращается при нажатии, и отображается кнопка удаления. Как это реализовать?iPhone удаляет сообщения, такие как интерфейс

Как и в изображении ниже:

enter image description here

+1

Я не думаю, что есть какой-то шанс вы собираетесь показать нам некоторый код, который вы написали, так что мы можем увидеть, где вы собираетесь не так ...? –

+1

Вы знаете класс, с которым имеете дело, и [документация для этого класса] (http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableView_Class/) описывает, как работает режим редактирования , ** Пожалуйста, ** проверьте документацию, прежде чем обращаться за помощью к людям. Если вы проверите документацию, но застрянете, сообщите людям, в какой части вы застряли. – Jim

ответ

2

Смотрите документацию компании Apple here для получения подробной информации о том, как достичь этого. В частности:

Когда послал setEditing:animated: сообщение (с первым параметром YES), представление таблицы входит в режим редактирования, где он показывает редактирования или переупорядочения управления каждой видимой строки, в зависимости от editingStyle каждого ассоциированного UITableViewCell. Нажатие на кнопку управления вводом или удалением приводит к тому, что источник данных принимает сообщение tableView:commitEditingStyle:forRowAtIndexPath:. Вы принимаете удаление или вложение по телефону deleteRowsAtIndexPaths:withRowAnimation: или insertRowsAtIndexPaths:withRowAnimation:, при необходимости.

0

написать письмо self.navigationItem.leftBarButtonItem = self.editButtonItem; в viewDidLoad способ. После этого реализовать этот метод - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { 

    if (editingStyle == UITableViewCellEditingStyleDelete) { 



     [yourArray removeObjectAtIndex:indexPath.row]; 
     [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES]; 


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