как вставить строку из таблицы с анимацией - PullRequest
0 голосов
/ 21 апреля 2011

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

Ответы [ 4 ]

3 голосов
/ 08 мая 2013

Чтобы вставить строку:

    int rowIndex = 0;//your row index where you want to add cell
    int sectionIndex = 0;//your section index
    NSIndexPath *iPath = [NSIndexPath indexPathForRow:rowIndex inSection:sectionIndex];
    NSArray *array = [NSArray arrayWithObject:iPath];
    [self.tableView insertRowsAtIndexPaths:array withRowAnimation:UITableViewRowAnimationFade];

Но вы должны убедиться, что у вас есть дополнительная запись по указанному индексу в вашем массиве dataSourse (массив, который вы используете для заполнения данными вваш стол).

1 голос
/ 21 апреля 2011

insertRowsAtIndexPaths: withRowAnimation:

Вставляет строки в приемник в места, определенные массивом индексные пути, с возможностью анимации вставка.

- (void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation

Описание класса UITableView

0 голосов
/ 01 марта 2017

Проблема: Так что, если вы вставляете данные поверх таблицы, пользователь должен прокрутить вниз, чтобы найти, где он оставил?

Решение: почемуне делайте эту прокрутку вниз для пользователя, вычисляя смещение и устанавливая смещение до окончания обновления таблицы.

Как рассчитать это смещение?(количество ячеек, вставляемых сверху) * (высота ячеек)

Примечание : в приведенном ниже примере / расчете я вычитаю две ячейки из числа ячеек, которые я вставляю, чтобы дать пользователюпредварительный просмотр с данными сверху

    [strongSelf.tableView beginUpdates];

    //INSERT DATA & CELLS ON TOP

    //REMOVE DATA ON BOTTOM IF NECESSARY

    //moving scrollview right back down so user can resume where last left off
    NSInteger estimatedRow = strongSelf.tableView.rowHeight * ( (indexPathsAdding.count) - 2);
    [strongSelf.tableView setContentOffset:CGPointMake(0, estimatedRow)];


    [strongSelf.tableView endUpdates];
0 голосов
/ 21 апреля 2011

Вы можете использовать метод - (void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation UITableView.

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