Перемещать строку вниз автоматически при выборе UITableView - PullRequest
2 голосов
/ 10 марта 2011

Может кто-нибудь сказать мне, как автоматически перемещать строку в UITableView при выборе.

Чтобы быть более понятным, в моем табличном представлении есть несколько пунктов. Когда пользователь выбирает строку, эта строка должна быть перемещена в самую нижнюю строку в UITableView.

Будем благодарны за любые фрагменты кода или указатели.

Спасибо

Ответы [ 3 ]

1 голос
/ 10 марта 2011

когда выбранная строка изменяет ваш источник данных, это может быть ваш массив и перезагрузка табличного представления.то есть в вашем

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

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

 [tableview reloadData];
1 голос
/ 10 марта 2011

Использовать метод из UITableViewDelegate протокола

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    NSUInteger index = indexPath.row;
    NSUInteger lastIndex = tableDataArray.count - 1;

    if (index == lastIndex) {
        return;
    }

    id obj = [[tableDataArray objectAtIndex:index] retain];
    [tableDataArray removeObjectAtIndex:index];
    [tableDataArray addObject:obj];
    [obj release];

//// without animation    
    [tableView reloadData];

//// with animation
//    [tableView beginUpdates];
//    [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationBottom];
//    [tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:lastIndex inSection:0]] withRowAnimation:UITableViewRowAnimationTop];
//    [tableView endUpdates];
}
1 голос
/ 10 марта 2011

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

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

. Это поможет вам получить представление о перемещении строк.

http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/TableView_iPhone/ManageReorderRow/ManageReorderRow.html

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