как удалить строку в разделе и скрыть раздел? - PullRequest
1 голос
/ 26 августа 2011

У меня проблема, когда у меня есть два раздела, скажем, раздел x и раздел. Секция x имеет одну строку, а также секцию y. Если я удаляю строку в секции y, которая является второй, она удалит строку в секции x и сохранит строку в секции y, а также оставит пробел, когда я скрою секцию, если их можно скрыть секцией напутайте, пожалуйста, скажите мне, вот какая-то картинка, которая может помочь вам понять мой вопрос

enter image description here

enter image description here

enter image description here

а вот код, который я использую для удаления строки

-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
    int path;
    path = indexPath.row;
    [data removeObjectAtIndex:path];
    if([data count] == 0)
    {
        UIBarButtonItem *leftbutton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editTable)];
        self.navigationItem.rightBarButtonItem = leftbutton;
        [leftbutton release];
        [self.navigationItem.rightBarButtonItem setEnabled:FALSE];
        [mainTableView setHidden:TRUE];
    }
    else
    {
        [self.navigationItem.rightBarButtonItem setEnabled:TRUE];
        [mainTableView setHidden:FALSE];
    }

    [self saveData];
    [mainTableView reloadData];
}

Ответы [ 2 ]

1 голос
/ 26 августа 2011

Чтобы удалить раздел, если вы удалили все принадлежащие ему строки, вызовите - (void)deleteSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation и верните на единицу меньше из - (NSInteger)numberOfSections.

Вы не добавили ни одного кода, который показывает, как вы удаляете строку из таблицы (удаление ее из данных недостаточно). Попробуйте что-то вроде -

    [self.tableView beginUpdates];
    [data removeObjectAtIndex:path];
    [self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationNone];
    [self.tableView endUpdates];

НТН,

Акшай

0 голосов
/ 26 августа 2011

Ну, в начале я не смог решить проблему, но с помощью @Akshay моей первой проблемой было его удаление, всегда удаляя раздел поверх раздела, который я удалял, чтобы решить проблему, которую мне просто пришлось обновить. количество строк в разделе, используя [mainTableView reloadData]; перед возвращаемым выражением

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