Как добавить режим редактирования в UITableView? - PullRequest
0 голосов
/ 21 июля 2011

У меня есть таблица, которая в данный момент позволяет вам удалять. Я хочу, чтобы на панели навигации была кнопка редактирования, чтобы пользователь мог изменить текст заголовка ячейки.

Пока что есть, но ничего не происходит

UIBarButtonItem * editButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(setEditing:animated:)];
[self.navigationItem setLeftBarButtonItem:editButton];
[editButton release];

- (void)setEditing:(BOOL)editing animated:(BOOL)animate
{
    [super setEditing:editing animated:animate];
    if(editing)
    {
        NSLog(@"editMode on");
    }
    else
    {
        NSLog(@"Done leave editmode");
    }
}

-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
 {
     if (editingStyle == UITableViewCellEditingStyleDelete) 
     {
         // Delete the managed object for the given index path
         NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
         [context deleteObject:[self.fetchedResultsController objectAtIndexPath:indexPath]];
         NSLog(@"fetched results : \n%@\n",[self.fetchedResultsController fetchedObjects]);

         // Commit the change.
         NSError *error = nil;

         // Update the array and table view.
         if (![managedObjectContext save:&error]) 
         {
             // Handle the error.
         }
     }
 }

1 Ответ

5 голосов
/ 21 июля 2011

Просто добавьте или снимите комментарий на вашем viewDidLoad:

    self.navigationItem.rightBarButtonItem = self.editButtonItem;

И используйте

- (void)setEditing:(BOOL)editing animated:(BOOL)animate
{
if(editing)
{
    NSLog(@"editMode on");
}
else
{
    NSLog(@"Done leave editmode");
}

    [super setEditing:editing animated:animate];

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...